我的应用程序中有一个自定义视图,可以填充整个活动.
在大多数情况下,当我想刷新控件时,我调用时invalidate()
没有任何参数.
但是,在某些情况下,我只是改变控件的一小块区域,我打电话invalidate(Rect)
来避免重新绘制整个屏幕.这很重要,因为在这些情况下,我需要尽可能快地进行更新.
这似乎工作正常,但是,当我在Honeycomb中启用硬件加速(即android:hardwareAccelerated="true"
在AndroidManifest.xml中设置 )时,部分重绘似乎不起作用.
如果我Log.d("FOO", canvas.getClipBounds())
用我的onDraw()
方法做的话可以看出来; 输出只显示整个控件正在更新,而禁用硬件加速,我得到正确的输出区域.
使用硬件加速时有没有办法使部分失效工作?
非常感谢,马特
android ×1