У меня есть большое изображение 1,28 МБ (1 343 488 байт), которое я использую в своем приложении, однако я хотел изменить несколько вещей и создал новое изображение размером всего 292 КБ (299 008 байт).Я создал оба изображения в Photoshop 7.0, сохранил их как .png и оба как чересстрочные.Я создавал это приложение вокруг большого изображения, и как только я переключаюсь на меньшее изображение, я получаю ошибку OutOfMemory с моим растровым изображением, говорящим
12108912-byte external allocation too large for this process
почему оно думаетмой новый образ 11,5 МБ?если я переключаю изображение обратно на более крупное, оно корректно компилируется.
private Bitmap loadMapBitmap() {
Log.d("InteractiveMap", "loadBitmap");
Bitmap bitmap = null;
try {
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.map);
} catch (Resources.NotFoundException e) {
Log.d(TAG, "loadMapBitmap - " + e.toString());
finish();
} catch (OutOfMemoryError e) {
Log.d("InteractiveMap", "too big " + e.getMessage());
finish();
}
return bitmap;
}
Я не понимаю, почему изображение намного меньшего размера не работает.