(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 [Нет такого файла или каталога]
Как и в случае любой виртуальной машины 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»
в манифесте. Но это крайне опрометчиво, так как большинству приложений это не нужно.
Если вы используете потоки, источником проблемы может быть отладчик. Если вы запустите приложение в отладчике, то все созданные потоки будут по-прежнему сохраняться в отладчике, даже когда они завершат работу. Это приводит к ошибкам памяти, которые не будут возникать, когда приложение работает без отладчика.
http://code.google.com/p/android/issues/detail?id=7979
https://android.googlesource.com/platform /dalvik/+/master/docs/debugger.html
Обратите внимание, что предел кучи зависит от устройства. На дроиде или Nexus один, этот предел составляет 24 МБ (для размещения более крупных графических ресурсов.)