2012-07-03 3 views
0

Я думаю, название настолько специфично. Итак, сначала хочу пояснить, что я хочу создать приложение штампа (например, фотобокс), где мы можем поместить на фотографию много штампов, сохранить изображение и дизайн.Растровое изображение избегает нехватки памяти с большим количеством просмотров изображений

Я использую option.inSampleSize в своем коде сейчас. Скорее всего эта ссылка: Strange out of memory issue while loading an image to a Bitmap object

Это решило мою проблему, когда число изображений невелико. Но когда число изображений (количество изображений) становится больше из памяти, существует снова.

Есть ли идеи от экспертов здесь? В настоящее время я все еще использую ImageView для отображения изображений штампов.

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

+0

«Единственное, что приходит на мой взгляд, чтобы ограничить количество изображений.» звучит так. – Guardanis

ответ

0

Вы следовали учебнику Google для кэширования изображений? Он описывает подводные камни и показывает, как правильно кэшировать изображения, чтобы вы не превышали ваш бюджет памяти.

Android Developer: Displaying Bitmaps - Cache Bitmap

ключевых направлений будет

// Get memory class of this device, exceeding this amount will throw an 
// OutOfMemory exception. 
final int memClass = ((ActivityManager) context.getSystemService(
     Context.ACTIVITY_SERVICE)).getMemoryClass(); 

// Use 1/8th of the available memory for this memory cache. 
final int cacheSize = 1024 * 1024 * memClass/8; 

mMemoryCache = new LruCache(cacheSize) { 
    @Override 
    protected int sizeOf(String key, Bitmap bitmap) { 
     // The cache size will be measured in bytes rather than number of items. 
     return bitmap.getByteCount(); 
    } 
}; 
Смежные вопросы