最近公司做一远程桌面的项目,本来使用SurfaceView来显示地。最近要做滚动效果,就换view了。换就换呗,在2.3的真机上测试过,效果很好(暗自窃喜)。但是,在4.0上,任我bitmap如何改变,就是不能刷新。onDraw方法也执行了,  代码如下:canvas.save(); canvas.concat(matrix); bitmapDrawable.draw(canvas);canvas.restore();  我艹,我纠结了三天,求谷哥找度娘,无一正解。万般无奈下,我只有切换到2.3下去编译apk安装到4.0机子上,奇迹出现了,界面既然能刷新了。
  问题出现在android:targetSdkVersion设置的太高了,然后有设置了android:hardwareAccelerated="true",bug虽然已经解决,但为什么会这样?android

解决方案 »

  1.   

    我最近也是遇到了这个问题,在2.1的demo里面没问题,放到4.0的环境上就出问题了。纠结了一天,代码都改成一样的了,最后发现是配置文件这个2个属性的问题,android:targetSdkVersion设android:hardwareAccelerated,第一个兼容的属性看文档发现删了没问题,第二个硬件加速的不知道有没有这个参数有什么区别。有高人解答没