есть ли какой-либо способ передачи большого количества данных в Android-сервис, который работает на другом процессе от основного действия? Данные для передачи - это массив байтов размером около 5 МБ. Как примечания, я не могу сохранить данные в файл для передачи, должен быть передан исключительно с помощью памяти или любым другим способом, который не сохраняется в файле, базах данных и т. Д.Android - передайте большое количество данных на обслуживание, запущенное на другом процессе
Я пробовал через AIDL , но, по-видимому, в Android под AIDL, доступные данные ограничены 1Mb. Также нарезка данных и передача их через куски не является вариантом. Должна быть одна транзакция. Я также пробовал Intents, но опять же те же ограничения от 500Kb до 1Mb.
Так что у меня заканчиваются идеи.
Почему вы используете отдельный процесс в первую очередь? – CommonsWare
По двум причинам, прежде всего, чтобы разгрузить работу, которая может потреблять основную кучу работы, а вторая потому, что пользователь может остановить основной процесс, покинув приложение, но обработка может еще не завершиться. Приложение может поставить в очередь несколько заданий, каждый из которых может занимать несколько секунд. Используя другой процесс, я имею преимущество в том, что у меня есть другая куча, которая не уменьшает один из основного действия, плюс я выгружаю всю работу в процесс, который может продолжать работать до завершения, не заставляя пользователя ждать каждого задания для завершения и даже разрешения выхода из приложения, если он захочет без необходимости ждать – PerracoLabs
Вам не нужен отдельный процесс, чтобы «продолжить работу до завершения, не заставляя пользователя ждать завершения каждого задания и даже позволять выйти из приложение, если он хочет, не дожидаясь ». – CommonsWare