at android.view.Surface.unlockCanvasAndPost(Native Method)

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();

             }

 

你可能感兴趣的:(android)