Android: Ошибка нехватки памяти при загрузке текстовых файлов.Как получить доступную память перед загрузкой файлов - PullRequest
0 голосов
/ 16 августа 2011

Я хочу загрузить текстовый файл в текстовые приложения. Но я получаю ошибку памяти, когда файлы слишком велики. Я завершил, что я могу загрузить до 1 МБ файлов. Но иногда мне не хватает памяти даже для файлов размером 1 МБ. Но я должен сказать перед загрузкой, могу ли я загружать файлы или нет.

Я пытался найти максимально возможную доступную память, кроме freeMemory (), это freememory + (maxmemory - totalmemory), которая даст общее возможное количество доступной памяти для приложения. (Скажем, это будет около 18 МБ до 20 МБ). Но я получаю ошибку памяти после полного использования кучи. скажем, например (24 МБ).

  1. Мой вопрос действительно заключается в том, что (от 18 МБ до 20 МБ) «максимально возможной доступной памяти» используется для выделения при загрузке файла 1 МБ.

  2. Сколько памяти должно быть доступно для загрузки файла размером 1 МБ.

  3. Как я могу приблизительно вычислить это.

  4. Есть ли выход из PSS, Privatedirty. Я не мог понять многое о PSS. Но я не смог получить много информации о подведении итогов в статье «Как обнаружить использование памяти моим приложением в Android»

Спасибо

1 Ответ

0 голосов
/ 16 августа 2011

Помните, способ хранения файлов в переменных имеет большое значение.Использование массива char вручную является одним из наиболее эффективных способов использования памяти, но вам все равно необходимо учитывать, что каждый символ занимает 16 бит или 2 байта.Таким образом, если у вас есть текстовый файл, использующий некоторую 8-битную кодировку, и вы загружаете его в массив символов, он занимает вдвое больше места.

...