android - 提高 Canvas.drawBitmap() 在 android 上的性能

标签 android algorithm optimization canvas bitmap

随着时间的推移,我尝试在我的基于图 block 的游戏中实现 View 寻呼机 - 滑动很慢。我按照@romangui 的建议执行了必要的性能测量,发现重绘我的 gaem 字段大约需要 48 毫秒(太长了)——而且我已经展平了布局,消除了 overdraw 并使用了我的自定义布局管理器等。

我发现在 GN 上绘制一个图 block 大约需要 0.600 毫秒——对于所有 81 个图 block 来说太长了。时间实际上花在了 Canvas.drawBitmap(...)

有什么提高性能的想法吗?我只有 6 个不同的位图,它们被加载一次并重复使用。 ARGB_8888。当然,它们不一定与实际显示的尺寸相匹配。

如果我在测量布局后根据实际显示尺寸预渲染它们,是否会获得更好的性能?

或者我应该硬着头皮预渲染一张大位图和我的游戏状态只是为了滚动?

最佳答案

您应该确保您没有让 Android 在绘图时使用图像缩放。

尝试使用以前缩放过的图像,如 Draw a scaled bitmap to the canvas?

关于android - 提高 Canvas.drawBitmap() 在 android 上的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13911587/

相关文章:

android - 如何在单元测试中实例化 ViewModel?

android - 多应用android :name tags in manifest

具有正弦复杂性的算法

perl - 是否有搜索多余代码的模块?

optimization - 我的Grails应用程序在启动时使用200 MB以上的内存是否正常?

jquery - 是否可以只包含正在使用的 jQuery 库的一部分?

java - 如何在工具栏android中为标题设置自定义字体

java - android studio 运行时出错

c# - 检测图何时重新收敛的算法(类似于公共(public)子树?)

c# - 如何找到段的组合来构建轨道 : possible Subset Sum