我想知道有哪些库或代码创建小块文件以实现多个下载& 具有暂停的多线程,恢复功能
假设在Play商店中您可以找到许多下载管理器应用程序,如下所示
https://play.google.com/store/apps/details?id=com.dv.adm
我在Github找到了很多库,但仍然没有像我在上面的图片中看到的那样实现
https://github.com/majidgolshadi/Android-Download-Manager-Pro
答案 0 :(得分:1)
我真的不知道这是否正确,但从我可以阅读的内容here开始,你必须使用HEAD
和RANGE
http标头来做类似的事情这个。你计算文件大小,然后分成相同字节大小的块,然后生成线程下载它们。
答案 1 :(得分: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