【发布时间】:2012-01-05 11:03:55
【问题描述】:
我有一个片段,它从 web 服务中提取数据并将其显示在 ListView 中。我有 10 种不同的选择器可用于行背景。循环后,背景会重复。
我面临的问题是设备(Galaxy Nexus!)无法处理显示所有这些背景。当我通过 setbackgroundResource 设置背景时,操作系统会不断调用 GC 来释放内存,这使得 ListView 滚动非常不稳定。
所以我尝试缓存所使用的 Drawable。我看到了改进,但由于缓存了多少 Drawable,设备最终会抛出 OutOfMemory 异常。举例说明缓存了多少,我需要所有 10 个选择器,每个选择器都包含两个可绘制对象,加上第一个和最后一个,因为它们是不同的。这是内存中的 24 个可绘制对象。
现在,我想这可能是我正在使用的图像的大小,我需要缩小它们并按比例拉伸,但我不确定这是否可行。
有什么建议吗?我花了几天时间不停地研究这个问题,但还没有找到可行/接近的解决方案。
谢谢
亚当
【问题讨论】:
标签: android listview background bitmap out-of-memory