android 多線程 Android開發中的多線程 Android性能優化典範之多線程篇

Android開發中的多線程

Android中的線程,包括:Message、Handler、Looper和HandlerThread等概念。html

進程概念java

  通常能夠在同一時間內執行多個程序的操做系統都有進程的概念。一個進程就是一個執行中的程序,而每個進程都有本身獨立的一塊內存空間、一組系統資源。在進程的概念中,每個進程的內部數據和狀態都是徹底獨立的。在Windows操做系統下咱們能夠經過〈Ctrl+Alt+Del〉組合鍵查看進程,在UNIX和Linux操做系統下是經過PS命令查看進程的。android

 

  多線程指的是在單個程序中能夠同時運行多個不一樣的線程,執行不一樣的任務。多線程意味着一個程序的多行語句能夠看上去幾乎在同一時間內同時運行。性能優化

  線程與進程類似,是一段完成某個特定功能的代碼,是程序中單個順序的流控制。但與進程不一樣的是,同類的多個線程共享一塊內存空間和一組系統資源,因此係統在各個線程之間切換時,資源佔用要比進程小得多,正因如此,線程也被稱爲輕量級進程。一個進程中能夠包含多個線程。圖所示是計時器程序進程和線程之間的關係,主線程負責管理子線程,即子線程的啓動、掛起、中止等操做。多線程

Android性能優化典範之多線程篇

  • AsyncTask: 爲 UI 線程與工做線程之間進行快速的切換提供一種簡單便捷的機制。適用於當下當即須要啓動,可是異步執行的生命週期短暫的使用場景。
  • HandlerThread: 爲某些回調方法或者等待某些任務的執行設置一個專屬的線程,並提供線程任務的調度機制。
  • ThreadPool: 把任務分解成不一樣的單元,分發到各個不一樣的線程上,進行同時併發處理。
  • IntentService: 適合於執行由 UI 觸發的後臺 Service 任務,並能夠把後臺任務執行的狀況經過必定的機制反饋給 UI。

 

Android 線程的正確使用姿式

  

Android中使用Thread形成內存泄露的分析和解決 good

 

線程建立到底浪有多大消耗

 

Android進階之路——線程機制

 Android 多線程之HandlerThread 徹底詳解 good併發

相關文章
相關標籤/搜索