в чем разница между кучей dalvik и родной кучей в android? который крепится.?
Я думаю, Dalvik куча исправлена для android приложения. как 64MB, 96MB etc.
правильно ли это ?.
Если это так, является ли собственная куча также фиксированной к некоторому размеру ? или будет расти в зависимости от использования приложения?
кто-нибудь может мне помочь? спасибо.
1 ответов
Я думаю, Dalvik куча исправлена для android приложения. как 64MB, 96MB etc.
Правильно ли это?.
Android предлагает определенное значение для приложений в качестве предела на основе версии Android (getMemoryClass()
API класса ActivityManager даст вам значение для устройства, на котором работает ваш код), но поставщики настраивают его, чтобы увеличить его с запасом, который соответствует их требованиям (например, в случае аппаратного обеспечения, поддерживающего более высокие разрешения экрана, как больше разрешения будут использовать большие растровые изображения).
если это так, является ли собственная куча также фиксированной к некоторому размеру ? или будет расти в зависимости от использования приложения?
Да, нет жесткого ограничения, как он растет в зависимости от использования. Вы можете использовать столько памяти, сколько доступно устройству (т. е. общая память - память, используемая другими программами). Когда Android думает, что у него мало памяти, то на основе многих факторов (будь то на переднем плане или предоставление услуг для некоторых приложений переднего плана), он начнет убивать процессы. Вы можете получить дополнительную информацию о памяти устройства с помощью android.app.ActivityManager.MemoryInfo
. Кроме того, начиная с Android 3.0, приложения могут запрашивать большую кучу (хотя, следует избегать ее до тех пор, пока она не станет полностью неизбежной). Вы можете увеличить размер кучи, используя android:largeheap="true"
в файле манифеста