Я вижу, что размер кучи автоматически увеличивается по мере того, как приложение нуждается в нем, вплоть до любого размера Max Max. Я также вижу, что Max Heap Size отличается в зависимости от устройства.
Итак, мой первый вопрос: каковы типичные размеры Max Heap на устройствах Android? Я проверил распределение памяти на одном телефоне, который смог использовать кучу более 40 Мб, а другой выдал ошибки OutOfMemory в 20 мб. Каковы самые низкие, которые широко используются, и каковы самые высокие показатели на обычных устройствах? Есть ли стандартный или средний?
Второй вопрос и, что еще важнее, - обеспечить, чтобы вы могли использовать ресурсы, доступные для каждого устройства, но избегать слишком многого? Я знаю, что существуют такие методы, как onLowMemory(), но они выглядят только для всей системной памяти, а не только для вашего конкретного приложения.
Есть ли способ определить максимальный размер кучи для устройства, а также определить, достигает ли доступная память кучи нижней точки для вашего приложения?
Например, если устройство разрешало максимальную кучу 24 МБ, и приложение приближалось к этому пределу при распределении, то оно могло обнаруживать и масштабировать назад. Однако, если устройство сможет комфортно обрабатывать больше, оно сможет воспользоваться преимуществами того, что доступно.
Спасибо