我自己测试了一下,发现原来是因为用SurfaceView.getHolder().setFixedSize(width,height);设定的宽高值过大了就会造成SurfaceView的问题:不调用surfaceCreated(),我手动调用surfaceCreated()后,lockCanvas()还是返回null。我试过,width=2000,height=2000时程序是正常工作的,但是width=3993,height=2000时就不出现上述问题,SurfaceView不正常工作了。谁能解释一下这个原因吗?
比如我需要画一个4000×4000大小的图显示出来
原本是想创建一个4000×4000大小的SurfaceView,在SurfaceView一次性画出来,通过ScrollView,HScrollView嵌套来水平垂直滚动显示出来,不过看来可能不能这么做了。那有别的什么好办法来实现吗?