我对管理大量位图的推荐/最佳做法有疑问。 (这是一个flipbook类型的应用程序,用户经过并创建新的页面......就像一堆虚拟的便签k?) 以前,我有一个包含位图的对象的arraylist,(性能良好)但我很快就遇到了dalvik vm的堆限制内存不足问题。
我后来尝试将屏幕上未显示的位图存储到sd卡作为缓存,然后根据需要抓取它们,但我发现这在手机上比以前的方法慢得多。
这个问题的最佳攻击计划是什么?
答案 0 :(得分:3)
也许你可以尝试组合。将SD卡上的位图保留为缓存,当加载位图“B”时,将位图“A”和“C”加载到内存中,其中“A”和“C”是应用程序中“B”周围的位图。 / p>
答案 1 :(得分:1)
您应该同时使用强引用内存缓存和磁盘缓存,请参阅Android培训课程Displaying Bitmaps Efficiently,尤其是Caching Bitmaps课程。
答案 2 :(得分:0)
一个建议, 如果您的位图不再可用,或者您想要从内存中删除它。 你应该这样做,
bitmapObject.recycle();
这是释放位图内存的最有效方法。