多线程并发
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
為主線程減輕負(fù)的多線程方案有哪些呢?這些方案分別適合在什么場(chǎng)景下使用?Android系統(tǒng)為我們提供了若干組工具類(lèi)來(lái)幫助解決這個(gè)問(wèn)題。
AsyncTask
為UI線程與工作線程之間進(jìn)行快速的切換提供一種簡(jiǎn)單便捷的機(jī)制。適用于當(dāng)下立即需要啟動(dòng),但是異步執(zhí)行的生命周期短暫的使用場(chǎng)景。
HandlerThread
為某些回調(diào)方法或者等待某些任務(wù)的執(zhí)行設(shè)置一個(gè)專(zhuān)屬的線程,并提供線程任務(wù)的調(diào)度機(jī)制。
ThreadPool
把任務(wù)分解成不同的單元,分發(fā)到各個(gè)不同的線程上,進(jìn)行同時(shí)并發(fā)處理。
IntentService
適合于執(zhí)行由UI觸發(fā)的后臺(tái)Service任務(wù),并可以把后臺(tái)任務(wù)執(zhí)行的情況通過(guò)一定的機(jī)制反饋給UI。
參考鏈接:http://hukai.me/android-performance-patterns-season-5/
轉(zhuǎn)載于:https://my.oschina.net/fltsp/blog/1611729
總結(jié)
- 上一篇: 各大源码包安装
- 下一篇: 面向对象的三大特性————继承,多态