对于我目前正在处理的应用程序,我ImageSwitcher
为多个图像创建了类似的东西(想象 iPhoneUIScrollView
启用了分页)。
起初,我硬编码了一些ImageViews
并在创建/膨胀时加载了它们的可绘制资源,但经过一些调整(以及我认为的改进),我将所需的视图减少到 3 个,其中 2 个ImageViews
用于显示当前页面和当前页面和新页面之间的动画。
有了这个改变,我开始使用setImageResource
/setImageDrawable
来动态加载我的 2 中的新图像,ImageViews
然后再滑动页面(我使用的是 PNG 文件,大小适合 HVGA 显示器)。
令我失望的是,性能变得更糟,以至于在快速浏览页面时感觉有些滞后。快速浏览后TraceView
发现,使用该应用程序的总时间的 17.4%,是下一个繁重方法的 5 倍以上,是BitmapFactory.nativeDecodeAsset
由我的可绘制资源的动态设置调用的。
我正在考虑规避这种情况的方法,并且我想以最好的方式做到这一点,因此欢迎提出任何建议。