android将drawables加载到缓存中

时间:2011-10-11 16:59:26

标签: android

我有一个活动,它在我的drawables文件夹中串联播放节拍和交替的drawables。不幸的是,drawable的加载速度太慢而且不同步。

有没有人有建议的解决方案?

2 个答案:

答案 0 :(得分:1)

我认为提前加载所有位图(可能是BitmapFactory.decodeResources())是很常见的。加载后,只需依赖于绘图的参考文献。

这会回答你的问题吗?

答案 1 :(得分:0)

问题的答案就在于此。您可以创建一个类似于位图缓存的类,该缓存使用后备HashMap来保存对已解码位图的引用。最简单的方法是缓存完整大小的位图,然后用R.java生成的int id键入它。我做了类似的事情,但是我包含了调整大小的逻辑并用一个字符串键入了它,形式为resourceid:width:height。如果要确保保持内存不足,可以提供删除方法和清除方法,但请记住为旧版操作系统回收位图。