Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android簡明開發教程十九:線程 Bezier曲線

Android簡明開發教程十九:線程 Bezier曲線

編輯:Android開發教程

Android中使用線程Thread的方法和Java SE相同。和大多數OS系統一樣,Android中也有稱為UI Thread的主線程。UI Thread 主要用來給相應的Widget分發消息,包括繪制(Drawing)事件。UI Thread 也是用來處理用戶交互事件的線程。比如:如果你 按下屏幕上某個按鈕,UI 線程則將Touch 事件通知對應的控件(Widgets),Widget 則將其狀態設置成“按下”,並把“重繪” (Invalidate)事件發到Event Queue中去。 UI線程從Event Queue中讀取事件後通知Widgets重畫自身。

如果你的應用設計不好的話, UI線程的這種單線程模式就會導致非常差的用戶響應性能。特別是你將一些費時的操作如網絡 訪問或數據庫訪問也放在UI線程中,這些操作會造成用戶界面無反應,最糟糕的是,如果UI線程阻塞超過幾秒(5秒),著名的 ANR對話框就會出現:

所以在設計應用時,需要把一些費時的任務使用單獨的工作線程來運行避免阻塞UI線程,但是如果在工作線程中想更新UI線 程的話,不能直接在工作線程中更新UI,這是因為UI線程不是“Thread Safe”。因此所有UI相關的操作一般必須在UI Thread中 進行。

Android OS提供了多種方法可以用在非UI線程訪問UI線程。

Activity.runOnUiThread(Runnable)

View.post(Runnable)

View.postDelayed(Runnable, long)

Handler

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved