Распределение памяти Android

(1)

[ -d Piyush_Drv1 ] && echo ""Exists"" || echo "Not Exists"

(2)

[ `find . -type d -name Piyush_Drv1 -print | wc -l` -eq 1 ] && echo Exists || echo "Not Exists"

(3)

[[ -d run_dir  && ! -L run_dir ]] && echo Exists || echo "Not Exists"

Если обнаружена проблема с одним из подход, приведенный выше.

С командой ls; случаи, когда каталог не существует - отображается сообщение об ошибке

$ [[ls -ld SAMPLE_DIR| grep ^d | wc -l -eq 1]] & amp; & amp; & amp; & amp; & amp; эхо существует || не существует -ksh: not: not found [Нет такого файла или каталога]

16
задан prepbgg 25 January 2010 в 11:40
поделиться

3 ответа

Как и в случае любой виртуальной машины Java, объем динамической памяти автоматически увеличивается до максимального размера. Но растровые изображения размещаются вне виртуальной машины, поэтому их не очень легко увидеть в статистике. Лучшее, что вы можете сделать, это убедиться, что вы не используете большие растровые изображения, или уменьшить их, используя
http://developer.android.com/reference/android/graphics/BitmapFactory.Options .html

Из Eclipse вы можете создавать дамп кучи, когда вы работаете на Android 1.6 или выше, и вы можете анализировать дамп с помощью Eclipse MAT.

Как правило, вы не можете контролировать максимальный размер кучи на реальном устройстве, если вы не работаете с пользовательским оборудованием или прошивкой.

На developer.android.com должна быть статья о сбросе кучи на 1.6, но я не могу ее найти. : (

Редактировать
Кроме того, я должен упомянуть, что вы можете запросить больше памяти для приложений, используя

android: largeHeap = «true»

в манифесте. Но это крайне опрометчиво, так как большинству приложений это не нужно.

36
ответ дан 30 November 2019 в 15:35
поделиться

Если вы используете потоки, источником проблемы может быть отладчик. Если вы запустите приложение в отладчике, то все созданные потоки будут по-прежнему сохраняться в отладчике, даже когда они завершат работу. Это приводит к ошибкам памяти, которые не будут возникать, когда приложение работает без отладчика.

http://code.google.com/p/android/issues/detail?id=7979

https://android.googlesource.com/platform /dalvik/+/master/docs/debugger.html

6
ответ дан 30 November 2019 в 15:35
поделиться

Обратите внимание, что предел кучи зависит от устройства. На дроиде или Nexus один, этот предел составляет 24 МБ (для размещения более крупных графических ресурсов.)

11
ответ дан 30 November 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: