Android中關於主線程的理解

在Android中,四大組件運行在主線程中,在主線程中做耗時操作會導致程序出現卡頓甚至出現ANR異常,一個基本常識就是將耗時操作放到子線程中去處理,然後通過Handler回調到主線程。

但是有三點還需要注意:

1 因爲四大組件運行在一個主線程中,那麼若果當前界面在顯示的時候,後臺的activity仍有處理邏輯再運行的話,仍然會造成當前界面的卡頓;

2 通過Handler回調到主線程只是避免程序出現ANR的第一步,我們必須要注意handler中邏輯處理的耗時,如果我們將很多消息都扔給了handler,那麼也會給主線程造成壓力,導致程序運行卡頓;

3 四大組件、Handler都是在一個線程中,那麼主線程在同一時刻不可能發送兩個廣播,換句話說就是若果能夠保證所有的廣播都是在主線程中發送,那麼廣播內部其實不需要加上對異步操作的處理。

錯誤之處,還請指正!

發佈了36 篇原創文章 · 獲贊 29 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章