Я сейчас работаю над 2D-игрой для Android Java.
Я стараюсь избегать общего OOM, с которым мы все имеем дело при работе с растровыми изображениями.
Для этого во время первого запуска я оцениваю максимальное использование ОЗУ в моем приложении и уменьшаю размер растровых изображений в соответствии с результатами: я вычисляю размер байта каждого растрового изображения, выполняя ширина * высота * 2 (Я использую RGB_565 ), я также удваиваю результат для спрайтов с наибольшим весом, чтобы учесть G-буфер.
Проблема в том, что мой результат далек от реального использования. На моем устройстве: ~ 60 МБ по оценкам и ~ 100 МБ в реальном использовании.
Расчет становится точным, когда я удваиваю предполагаемый размер байта для каждого растрового изображения.
Я что-то упустил? Нужно ли нам удваивать счет пространства, занимаемого для каждого растрового изображения?