我创建了一个调用 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/