Есть ли минимальный размер кучи для версий Android?

Многие сообщения говорили о размере кучи Android, и до сих пор я выяснил, что единственная распространенная проблема с максимальным размером кучи заключается в том, что она составляет не менее 16 МБ, но это был предел с тех пор, как API 3. Для использования больше памяти, люди предложили бы использовать NDK или что-нибудь, что выходит за рамки "нормального" развития Android.

Есть ли какая-либо версия Android, которая требует от устройств большего размера кучи, чтобы я мог начать считать более крупным и перестать быть настолько дешевым в памяти?

Есть ли также требование относительно флага большой кучи (из API 11 - сотового) внутри манифеста или это неопределенный запрос, что устройство может даже игнорировать его?

Просто за последние годы аппаратное обеспечение Android значительно улучшилось, но мы все равно должны быть настолько дешевы в памяти, хотя устройства теперь имеют более 1 ГБ оперативной памяти. И это странно, что мы не можем просить у ОС получить конкретную сумму кучи и пообещать, что мы больше не будем этого использовать.

Ответ 1

ok, я наконец нашел ответ (спасибо этот пост):

минимальный для всех версий Android (включая 5) - 16 МБ.

требования для каждой версии Android можно прочитать здесь:

http://source.android.com/compatibility/downloads.html

вы можете прочитать о них, открыв файлы CDD и выполнив поиск "Совместимость времени выполнения" (или "Совместимость виртуальной машины" для старых версий). Кроме того, вы можете найти минимальное требование к ОЗУ, выполнив поиск "Память и память", но я думаю, что это только требование самой системы.

так, например, на 4.0.3-5 минимальный размер кучи:

  • 16 МБ: малый/нормальный с ldpi/mdpi или большой с ldpi
  • 32 МБ: малый/нормальный с tvhdpi/hdpi или большой с mdpi
  • 64 МБ: малый/нормальный с xhdpi или большой с tvdpi/hdpi или xlarge с mdpi.
  • 96MB: малый/нормальный с 400dpi или xlarge с tvhdpi/hdpi
  • 128 МБ: малый/нормальный с xxhdpi или большой с xhdpi
  • 192 МБ: малый/нормальный с 560 точек на дюйм или большой с 400 точек на дюйм или xlarge с xhdpi.
  • 256 МБ: малый/нормальный с xxxhdpi или большой с xxhdpi
  • 288MB: xlarge с 400dpi
  • 384MB: большой с 560dpi или xlarge с xxhdpi
  • 512 МБ: большой с xxxhdpi
  • 576MB: xlarge с 560dpi
  • 768MB: xlarge с xxxhdpi

Я не могу найти минимальный размер кучи для версий 3.x, но он, вероятно, такой же, как 4.0.3.

для 2.1 - 2.3, минимальный размер кучи:

Реализации устройств с экранами, классифицированными как средние или низкая плотность ДОЛЖНА настроить Dalvik на выделение не менее 16 МБ памяти для каждого приложения. Реализации устройств с экранами, классифицированными как высокая плотность или сверхвысокая плотность ДОЛЖНЫ настроить Dalvik для выделения не менее 24 МБ памяти для каждого приложения. Обратите внимание, что устройство реализации МОГУТ выделять больше памяти, чем эти цифры.

значение:

  • средний экран или ldpi - 16 МБ
  • hdpi или xhdpi - 24 МБ

Я не могу найти минимальный размер кучи для версии 1.6, но он, вероятно, такой же, как 2.1.

Кроме того, я не могу узнать, что должен делать флаг большой кучи для каждой версии Android (начиная с версии 3.0).