自己寫個多任務多線程斷點下載框架


What: 什么是多任務下載框架?

多任務下載框架,是一個封裝了下載功能的工具,它支持下載隊列,下載進度更新,暫停||恢復||取消下載等功能。該框架適用於一切需要多任務下載的地方。例如app市場的app下載,視頻app的視頻下載,網易雲閱讀的離線下載等等。

Why:為什么要寫多任務下載框架?它解決了什么場景下的問題?

剛才提到了很多不同下載的場景,除了下載的數據不同,其他功能都是一樣的。所以我們需要抽出來做為一個單獨的工具,以后我們只需要調用這個工具就可以了。不需要在煩惱了哦。還有就是,高內聚,所有下載相關的功能都封裝到一起,可讀性高,便於以后維護和擴展。

為什么我講了HTTP框架還要來講多任務下載框架?

這里使用的場景是不同的,千萬不要企圖把框架變得萬能,框架只是針對某一特定場景而封裝出來解決這類問題的工具,HTTP框架着重於常規API請求,並針對返回數據去做相應的處理。而多任務下載框架僅針對多任務下載做的一系列封裝,目的就是為了下載。這兩個框架沒有太多的交集。所以拆開來比較好。而且不是所有app都需要多任務下載框架。

How:怎么寫多任務下載框架?有什么需要注意的?

怎么寫就看視頻把,這里先預熱下寫之前需要知道的知識點:

1。觀察者模式(下載進度需要實時更新,暫停||恢復||取消下載狀態的通知等,而且不僅僅是更新當前Activity,所以這里要用到觀察者模式)

2。多線程斷點下載(要想下載的快,並且可以恢復暫停的下載當然要支持斷點了)

3。線程池隊列(一般在設置里都有”同時下載最大任務數”,所以是個任務隊列,並且多任務並存,這里線程池是必備的)

4。數據庫(既然支持斷點下載,那么就需要記錄當前下載的點以備恢復下載時使用)

 

上述提到了一些知識點,雖然在課程里我也會講,但是大家還是得對這些東西有個概念,我不會講得太細。

該系列是針對中級Android開發者量身定做課程,作為升職加薪的必備工具,不同於市面上那些只是教你調用API的初級視頻。這套課程,有深度有廣度,為確保大家能學以至用,大家可以加本人QQ:104816053。也可以訪問我的網站www.stay4it.com獲取更多技術分享。更多心得請關注微信公眾平台:stay4it

課程地址:http://www.stay4it.com/course/6


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM