现在编个软件,首先是一个xml写的整体的布局,然后自定义了一个View作为整体布局的一个子View,需要在这个View上进行涂鸦,发现当给这个整体的布局设置背景图片之后,涂鸦的效果就会有很大的延迟,反应很慢,去掉背景图片后,效果会好很多,但是在涂鸦的过程中在子View中使用invalidate刷新的是子View自己啊,怎么会和布局的背景图片有关系,子View是没有背景的,怎么解决呢?求教了

解决方案 »

  1.   

    2.3的系统么, 在3.0之前, 只要和重绘控件有重叠的view都会被重绘, 即使没有调用invalidate()
    子View和父View重叠, 所以每次子View调用invalidate(), 也会导致父View重绘...在3.0之前, 这个问题没法解决(除非你能让这两个控件区域不重叠), 4.0这个问题解决了(有了displayList的概念, 每次只重新绘制调用了invalidate()函数的view)
      

  2.   

    可以看下这个连接:http://www.haogongju.net/art/1395814
      

  3.   

    哦,不让他们重叠不太现实,该怎么改呢,我现在使用4.0的,把硬加速打开,但是在在定义的View里获得的硬加速返回的是false,程序运行也没什么效果,必须在真机上吗?
      

  4.   

    晕, 那是肯定的, 模拟器又没有GPU