android - 优化 Android 中 ImageView 之间的分页?

标签 android optimization drawable

对于我目前正在开发的应用程序,我为多个图像创建了类似于 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/

相关文章:

android - 资源可用时出现 ResourcesNotFoundException(API 22 和 23 设备)

java - 使用广播在摇晃时启动应用程序

java - 替换fragment android时出现NullPointerException

android - 如何使用 TrafficStats 分别统计 2G 和 3G 的数据使用量?

ios - 应用程序存储分配和低存储通知

android - 如何检查本地 Drawable,缺少一个,如何从远程资源创建一个?

android - 显示对话框将调用哪个 Activity 生命周期函数?

ios - 我在哪里可以获得 `pngcrush` 工具优化 iOS 图像并可在 Linux 服务器上运行?

MySQL 和预排序表

Android textview drawable顶部对齐