这是初学者问得最多的问题之一,但不幸的是我仍然得不到任何帮助。在一个 Activity 中,我有一个 viewflipper,我以编程方式为其分配带有图像的 ImageView (使用 for 循环将大约 100 张图像添加到 viewflipper)。可能是由于图像大小或图像数量过多导致位图出现 OutOfMemory 错误。我的问题是:
- 如果这是因为我的可绘制对象占用了内存空间,有什么办法可以释放它们占用的空间?
- 垃圾收集会是造成这种情况的原因吗?如果是,解决方案是什么?
- 由于我使用的是 viewflipper,有什么方法可以让我只能加载 viewflipper 的当前 View 、上一个 View 和下一个 View ?这会有助于减少内存占用吗?
如果我的问题令人困惑或难以理解,请告诉我。这对我来说是一个重要的话题,因为我几乎所有的应用程序都面临这个问题。
最佳答案
为了避免,在 list 中使用这个获取大堆:
android:largeHeap="true"
几乎所有问题的解决方案都在这些与内存错误相关的链接上,希望其中之一可以解决您的问题:
Memory Leak and Out of memory Error using List,LinkedList and HashMap
关于android - Android 中的图像内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19264819/