【发布时间】:2011-01-07 01:49:43
【问题描述】:
快速提问 - 我正在扩展 LinearLayout 的控件,并且我正在覆盖它的 onPaint 方法,就像这样
@覆盖 受保护的无效onDraw(帆布画布){ super.dispatchDraw(画布); _background.draw(画布); _object1.draw(画布); _object2.draw(画布); _object3.draw(画布); // 等等... }每 40 毫秒,我在后台调用 postInvalidate(),并且在 UI 线程上调用 onPaint。问题是 _background.draw 占用了我 80% 以上的绘图时间。
那么 - 是否有可能以某种方式缓存背景而不是每次都重绘它?
【问题讨论】:
-
为什么每 40 毫秒就失效一次?对象是否在背景中移动,或者对象本身是否发生变化但保持相同的相对位置?
-
物体既在移动又在变化(移动动画)......有时它们是站立的,但那是特殊情况(
标签: android