Android I / O с файлами> 16 МБ - PullRequest
0 голосов
/ 13 февраля 2012

Можно ли работать с файлами ввода-вывода, которые>> 16 МБ на Android? В настоящее время я использую новый Java NIO-API (FileChanel), разделяю массив с помощью System.arraycopy и помещаю куски в коллекцию. Если размер файла> = 16 МБ, поток генерирует ошибку OutOfMemoryError.

Есть предложения? Обычный I / O-API был медленным.

Заранее спасибо.

1 Ответ

1 голос
/ 13 февраля 2012

Проблема в том, что приложения Android имеют ограничение в 16 МБ ОЗУ на приложение - таким образом вы получаете исключение нехватки памяти. В настоящее время, если вы хотите поддерживать наиболее распространенные версии Android, вы не можете избежать этих ограничений. Вам нужно будет обработать файл по частям.

...