安卓面試經常問到的問題

一、Handler機制:

  1. 由於Android主線程做耗時操作超過5秒沒有響應會產生ANR,所以 Android發佈了一套更新UI的機制,我們通常稱之爲Handler機制
  2. Handler機制中分爲,Thread、Handler、Message、Message Queue和Looper
  3. Handler機制的流程爲Thread處理耗時邏輯,把處理結果通過message傳遞給Handler,Handler在構造方法中通過Looper.myLooper()獲取到對應的Looper,然後通過Looper來確定把Message放置在哪個Message Queue中,然後通過Looper循環把Message取出更新到對應的線程中。
  4. Message Queue遵循先進先出原則
  5. 我們自己穿件的線程,默認是沒有消息隊列(Message Queue)和消息循環(Looper)的,想要讓一個線程具有消息處理機制,我們需要在線程中先調用Looper.perapre()來創建一個Looper對象,然後調用Looper.loope()進入消息循環。
  6. 當我們創建了Handler對象時,指定Handler與哪個具有Looper的線程關聯,這個線程就成了目標線程

二、Android 性能優化:

  1. Android性能優化分爲:App啓動優化、響應優化、佈局優化、內存優化、省電優化、網絡優化
  2. App啓動優化:Android程序啓動分爲:熱啓動、溫啓動和冷啓動。啓動優化針對的就是冷啓動,其中冷啓動涉及的一個是Application的OnCreate()方法,另外一個就是首屏Activity的渲染
  3. 響應優化:Android 產生ANR的情況爲:Activity超過5秒無響應、BroadcastReceiver超過10秒無響應、Service超過20秒無響應
  4. 佈局優化:佈局中儘量減少嵌套關係,這裏有一個工具H-Viewer可以看
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章