做安卓课设,发现运行时帧率非常低,肉眼可以明显感到卡顿的哪种,然后获取了下每一步的时间,发现lockCanvas方法平均60+ms,unlockCanvasAndPost也是60+ms,合计100+,帧率十帧不到,但我暂时还只定义了十个对象,而且都只是朝一个方向平移的动画,问了老师老师说这个是正常的,但我不是很相信,lockCanvas和unlockCanvasAndPost这两个方法真的是要消耗0.1秒的吗,那岂不是surfaceView无法拿来做正常的游戏了吗?
换了几个模拟器都是这个样子,API19。
在SurfaceCreated方法里面启动线程,run方法里面循环调用drawSelf,drawSelf里面调用lockCanvas和unlockCanvasAndPost。
找同学问了问,他的lockCanvas大概20ms的样子……