我有一个很大的自定义View
,我在上面画了很多富文本,很多字体,多种颜色和字体大小。我已经尽可能地优化了这张图。重绘大约需要 300 毫秒。
这 300ms 一次调用是可以的,但是由于 myView
比屏幕大,所以插入到 ScrollView 中,现在一旦用户用手指滚动,onDraw()
就会重复调用。这给出了非常草率的滚动。
同样的应用之前是为iOS写的,iOS不会调用onDraw(我想是drawRect()
在iOS世界里调用的),所有绘制的图像都存储在某种缓冲区中,所以滚动实际上非常快而且非常流畅,大概硬件加速。
那么有没有办法实现“No onDraw”平滑滚动?我正在考虑在位图上绘图,然后在滚动阶段对位图进行 blitting。但它会比绘制文本更快吗?位图硬件是否在 Android 上加速?解决此类问题的最佳方法是什么?
谢谢