Android:如何获得更快的 onDraw()

标签 android view canvas bitmap ondraw

我创建了一个调用 DrawView 扩展 View 的 Activity ,我在 Canvas 上绘制类似二叉树的东西。 Canvas 尺寸大于屏幕尺寸,onDraw函数绘制所有 Canvas ,而不仅仅是其可见部分。我添加了水平和垂直 ScrollView ,显然 onDraw 被一次又一次调用来刷新 View 。 我想知道是否可以使用该图像(位图或类似的东西)在图像上绘制 Canvas 来显示树,而无需调用 onDraw 函数。 如果我做不到这一点,我该怎么做才能更快地查看?

最佳答案

如果您使用的是 API 11 或更高版本,您可以尝试在 list 的应用程序标记中使用硬件加速属性。

<application ... android:hardwareAccelerated="true" ...>

除此之外,您还可以考虑使用 View 之外的其他渲染,也可以看看 SurfaceView。

一般来说,我认为除非您正在构建 UI 组件(如 Button),否则您不应该重写 View,但请不要引用我的观点。

关于Android:如何获得更快的 onDraw(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9502943/

相关文章:

javascript - OL3 ImageCanvas renderFunction 性能不佳

android - 在我的 Android Studio 中,我没有看到插件 block 代码生成器

android - 如何解决选择器中的 react native 空值?

javascript - 在 Javascript Django 中从 'param' 的 'views.py' 获取值

sql - 检查哪些 View 有行

javascript - 复杂的 Div/Canvas 放置

java - 当我从 android 刷新时出现 Android TCP 错误 :onClick

Android 无法停止媒体播放器?

android - 不断获取...DeviceMonitor] 启动监控失败

javascript - Canvas 上的 base64 错误