【发布时间】:2010-11-25 09:17:16
【问题描述】:
我的应用中有 3 个图像资源。 在 ImageView 中加载和显示其中任何一个都很顺利。 但是当我从布局中删除显示的 ImageView 时,将其设为空并 添加一个新图像,事情变得很奇怪。
当我尝试时,要么进程完全崩溃(信号 11) 在旧位图上调用 .recycle() 或者我得到一个 OutOfMemoryError 如果我不使用回收站。
这只发生在 API 级别低于 8 的情况下,所以我的猜测是 本机堆上的 GC 导致它,这些错误已修复 2.2.但是,由于 2.1 是目前最常见的版本 我需要一个解决方法...
同样,本机堆不应该缺少内存。我持有 一次只有一张图像,前一张为空,所以 GC 应该能够 检索堆空间(就像在 2.2 上发生的那样)。
我创建了一个非常小的示例应用程序,可以从 这里: http://www.4shared.com/file/QqHrhJLR/BitmapRecycleTest.html
任何建议将不胜感激。
【问题讨论】:
标签: android