最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 實(shí)現(xiàn)界面刷新的幾種方法

 更新時(shí)間:2016年11月11日 10:52:03   投稿:lqh  
這篇文章主要介紹了Android 實(shí)現(xiàn)界面刷新的相關(guān)資料,這里提供了幾種方法及實(shí)例代碼,具有一定的參考價(jià)值,需要的朋友可以參考下

Android 界面刷新

 Android提供了Invalidate方法實(shí)現(xiàn)界面刷新,但是Invalidate不能直接在線程中調(diào)用,因?yàn)樗沁`背了單線程模型:Android UI操作并不是線程安全的,并且這些操作必須在UI線程中調(diào)用。

Android程序中可以使用的界面刷新方法有兩種,分別是利用Handler和利用postInvalidate()來實(shí)現(xiàn)在線程中刷新界面。

利用Handler刷新界面

實(shí)例化一個(gè)Handler對(duì)象,并重寫handleMessage方法調(diào)用invalidate()實(shí)現(xiàn)界面刷新;而在線程中通過sendMessage發(fā)送界面更新消息。


    // 在onCreate()中開啟線程

    new Thread(new GameThread()).start();、

 

    // 實(shí)例化一個(gè)handler

    Handler myHandler  = new Handler()

    {

       //接收到消息后處理

       public void handleMessage(Message msg)

       {

           switch (msg.what)

           {

           case Activity01.REFRESH:

              mGameView.invalidate();    //刷新界面

              break;

           }

           super.handleMessage(msg);

       }         

    };

 

    class GameThread implements Runnable

    {

       public void run()

       {

           while (!Thread.currentThread().isInterrupted())

           {

              Message message = new Message();

              message.what = Activity01.REFRESH;

              //發(fā)送消息

              Activity01.this.myHandler.sendMessage(message);

              try

              {

                  Thread.sleep(100);

              }

              catch (InterruptedException e)

              {

                  Thread.currentThread().interrupt();

              }

           }

       }

    }

使用postInvalidate()刷新界面

使用postInvalidate則比較簡(jiǎn)單,不需要handler,直接在線程中調(diào)用postInvalidate即可。

 class GameThread implements Runnable

    {

       public void run()

       {

           while (!Thread.currentThread().isInterrupted())

           {

              try

              {

                  Thread.sleep(100);

              }

              catch (InterruptedException e)

              {

                  Thread.currentThread().interrupt();

              }

              //使用postInvalidate可以直接在線程中更新界面

              mGameView.postInvalidate();

           }

       }

    }

 

參考:

Android應(yīng)用開發(fā)揭秘

Android文檔

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論

丘北县| 永新县| 双柏县| 柳林县| 临清市| 梅州市| 诸城市| 南澳县| 长乐市| 抚远县| 昭平县| 德兴市| 北安市| 南涧| 定边县| 香格里拉县| 青阳县| 休宁县| 科技| 凤山县| 海门市| 德钦县| 新巴尔虎右旗| 澄迈县| 特克斯县| 崇阳县| 陆良县| 清流县| 宜章县| 清水县| 浦城县| 咸丰县| 华亭县| 滨海县| 万年县| 佛冈县| 巴塘县| 玛纳斯县| 余姚市| 博爱县| 宣恩县|