对于我目前正在开发的应用程序,我为多个图像创建了类似于 ImageSwitcher
的东西(想象一下启用了分页的 iPhone 的 UIScrollView
)。
起初,我对一些 ImageViews
进行了硬编码,并在创建/膨胀时加载了它们的可绘制资源,但经过一些调整(我认为是改进)后,我将所需的 View 减少到 3 个,其中 2 个是 ImageViews
,用于显示当前页面以及在当前页面和新页面之间设置动画。
有了这个改变,我开始使用 setImageResource
/setImageDrawable
在我的 2 个 ImageViews
中动态加载新图像,然后再滑动页(我使用的是 PNG 文件,大小适合 HVGA 显示器)。
令我失望的是,性能变差了,在页面中快速滑动时感觉有些滞后。
快速查看 TraceView
显示,在使用该应用程序时,总时间的 17.4%(比下一个重方法多 5 倍)来自 BitmapFactory.nativeDecodeAsset
,调用者我的可绘制资源的动态设置。
我正在考虑规避这种情况的方法,我想以尽可能最好的方式做到这一点,因此欢迎提出任何建议。
最佳答案
你有什么格式的图片?
Android 原生处理 RGB565 图像,因此如果您可以将图像转换为该格式,解码速度会快得多。
关于android - 优化 Android 中 ImageView 之间的分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1314435/