2017-07-17 65 views
1

我想知道那是怎麼回事那裏創建小塊文件實現多個下載& 多線程與暫停任何庫或代碼,恢復功能創建小塊,並通過多線程下載,以提高下載速度的Android

假設在Play商店中,你可以找到很多的下載管理器應用程序像下面

https://play.google.com/store/apps/details?id=com.dv.adm

enter image description here

我必須找到在Github上許多圖書館,但正如我在上面的圖像

https://github.com/majidgolshadi/Android-Download-Manager-Pro

https://github.com/Aspsine/MultiThreadDownload

回答

0

已經表明可以使用的ThreadPoolExecutor輕鬆管理多線程和工作分配仍然沒有實現。 ThreadPoolExecutor根據需要管理線程創建和終止。

乍一看看起來相當嚇人,但當你花10分鐘閱讀時,它確實很簡單。

定製池的構造看起來是這樣的:

Executor executor = new ThreadPoolExecutor(
    int corePoolSize, 
    int maximumPoolSize, 
    long keepAliveTime, TimeUnit unit, 
    BlockingQueue<Runnable> workQueue, 
    ThreadFactory threadFactory, 
    RejectedExecutionHandler handler 
); 

然後:

executor.execute(runnable); 

您還可以使用內置的執行者。

你可以閱讀更多關於它在這裏:ThreadPoolExecutor on the Android developers site

+0

但它不會創建大塊文件的權利 –

+0

不。您必須自己處理。但游泳池將處理工作分配。 – mrsegev

1

我真的不知道是否有任何這是正確的,但是從我可以讀here你必須使用HEADRANGE HTTP頭做類似的東西這個。您計算文件大小,然後分成相同字節大小的塊,然後生成線程來下載它們。

+0

感謝您的建議... –