編輯: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
SetWallpaper介紹如何在Android獲取當前Wallpaper,對Wallpaper做些修改,然後用修改後的圖像重新設置Wallpaper。Wallpaper
對於一款成功的游戲,動畫效果也是整個游戲中不可或缺的元素之一,那下面我們就來講解一下動畫類的 使用方法。一、Animation類1、Animation介紹該類存放在 co
Preferences之間可以定義依賴關系,在第一個例子中已有說明。對應定義了依賴關系的Preferences,依賴指向的 Preference可以稱為Parent p
一、“點九”是andriod平台的應用軟件開發裡的一種特殊的圖片形式,文件擴展名為:.9.png智能手機中有自動橫屏的功能,同一幅界面會在隨著手機