2

对于我目前正在处理的应用程序,我ImageSwitcher为多个图像创建了类似的东西(想象 iPhoneUIScrollView启用了分页)。

起初,我硬编码了一些ImageViews并在创建/膨胀时加载了它们的可绘制资源,但经过一些调整(以及我认为的改进),我将所需的视图减少到 3 个,其中 2 个ImageViews用于显示当前页面和当前页面和新页面之间的动画。

有了这个改变,我开始使用setImageResource/setImageDrawable来动态加载我的 2 中的新图像,ImageViews然后再滑动页面(我使用的是 PNG 文件,大小适合 HVGA 显示器)。

令我失望的是,性能变得更糟,以至于在快速浏览页面时感觉有些滞后。快速浏览后TraceView发现,使用该应用程序的总时间的 17.4%,是下一个繁重方法的 5 倍以上,是BitmapFactory.nativeDecodeAsset由我的可绘制资源的动态设置调用的。

我正在考虑规避这种情况的方法,并且我想以最好的方式做到这一点,因此欢迎提出任何建议。

4

1 回答 1

1

你有什么格式的图片?

Android 原生支持 RGB565 图像,因此如果您可以将图像转换为该格式,解码速度会快得多。

于 2009-08-22T22:34:49.963 回答