Android中的lockCanvas和同步

时间:2013-07-14 12:12:13

标签: android graphics

@Override
   public void run()
   {
     Canvas canvas =  null; // used for drawing               {
     while  (threadIsRunning)
     {
        try
        {
         canvas = surfaceHolder.lockCanvas(null);  // line 1                               

           synchronized(surfaceHolder)             // line 2

                { //do something .....

                }

           }
        }
      }

根据许多帖子和博客lockCanvas将在画布上进行锁定,以便无法多次访问画布,并且使用synchronized block以便没有其他线程 在画布上画画..

问题是,是否阻止其他线程通过锁定画布来强制它等待。 然后需要同步块,因为线程无法到达此块

1 个答案:

答案 0 :(得分:-1)

我认为,如果lockCanvas无法获得锁定,它将返回null并继续执行。