我认为,标题是如此具体。所以,我想首先解释一下,我想创建一个邮票应用程序(如photobox),我们可以在照片上放置大量的邮票图像,保存图像和设计。
我现在在我的代码中使用option.inSampleSize。更有可能是这个链接:Strange out of memory issue while loading an image to a Bitmap object
当图像编号很小时,这解决了我的问题。但是当图像编号(图像计数)变得更大时,内存再次存在。
这里的专家有什么想法吗?目前我仍在使用ImageView来显示图章。
或..也许这个没有解决方案呢?我唯一想到的就是限制图像的数量。
答案 0 :(得分: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();
}
};