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

 

posted on 2014-03-04 11:30  飘杨......  阅读(1449)  评论(0编辑  收藏  举报