at android.view.Surface.unlockCanvasAndPost(Native Method)
在绘制动画特效的时候点击back键会报以上异常。
主要原因:当点击back按钮时Activity退出视野。此时并不会出现画面更新情况,但是用于更新动画的线程仍然在工作,即flag = true。由于Activity已退出解锁操作holder.unlockCanvasAndPost(canvas);不能完成因此就会引发上述异常。
解决办法:
1.在public void onBackPressed() {}函数中加上结束线程标记即flag= false;
2.在解锁画布操作的哪一行加上一个try catch操作。例如:
try{ if (holder != null) { holder.unlockCanvasAndPost(canvas); } }catch(Exception e){ e.printStackTrace(); }