对于我目前正在处理的应用程序,我为多个图像创建了类似ImageSwitcher
的内容(想象一下启用了分页的iPhone UIScrollView
)。
起初,我对一些ImageViews
进行了硬编码,并在创建/通货膨胀时加载了他们的可绘制资源,但经过一些调整(以及我认为的改进),我将所需的视图减少到3,其中2个是ImageViews
用于显示当前页面并在当前页面和新页面之间设置动画。
通过此更改,我开始使用setImageResource
/ setImageDrawable
动态加载我的2 ImageViews
中的新图像,然后再浏览页面(我正在使用PNG文件,大小用于HVGA显示器。)
令我失望的是,表现变得更糟,在通过页面滑动时感觉有些滞后的程度。
快速查看TraceView
显示,使用该应用程序的总时间的17.4%(比下一个重度方法多5倍)是从BitmapFactory.nativeDecodeAsset
消耗的,由我的可绘制资源的动态设置调用。 / p>
我正在考虑绕过这个问题的方法,我希望以最好的方式做到这一点,所以欢迎任何建议。
答案 0 :(得分:1)
你有哪种格式的图像?
Android本身使用RGB565图像,因此如果您可以将图像转换为该格式,解码速度会快得多。