Ric*_*ter 6 android invalidation
我有一个绘图库,有了它我有一个自定义视图.当需要进行任何更新时,库会调用视图的invalidate()方法.然后onDraw()调用该方法,一切正常.
但是,当我将属性添加usesSdkVersion="14"到my时AndroidManifest.xml file,这将停止工作.我的视图onDraw()方法不再被调用了.
更多信息:似乎当我invalidate()在我的应用程序中按下按钮调用时,View会按预期更新.此外,我的库中有一个动画正常工作.所以显然有时它工作正常.但大部分时间,都没有重新绘制.是否存在自定义视图可能导致操作系统在invalidate()调用后跳过重绘的状态?
从android 3.0开始,当使用硬件加速时,视图的绘制被记录并存储在GPU中.
因此,当你有两个视图时:A上面的B,你打电话B.invalidate,B.onDraw将被调用并记录到GPU,但A.onDraw不会被调用,因为它已被记录!
这与onDraw调用所有视图时的非硬件加速模式不同.
| 归档时间: |
|
| 查看次数: |
6037 次 |
| 最近记录: |