Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中创建小块并通过多线程下载,以提高下载速度_Android_Multithreading - Fatal编程技术网

在Android中创建小块并通过多线程下载,以提高下载速度

在Android中创建小块并通过多线程下载,以提高下载速度,android,multithreading,Android,Multithreading,我想知道如何有任何库或代码创建文件的小块,以实现多个下载&多线程暂停、恢复功能 假设在play store中,您可以找到许多下载管理器应用程序,如下所示 我在Github中找到了很多库,但仍然没有达到我在上图中显示的效果 您可以使用ThreadPoolExecutor轻松管理多个线程和工作分配。ThreadPoolExecutor根据需要管理线程的创建和终止 乍一看,它可能看起来相当吓人,但当你花10分钟阅读它时,它确实相当简单 自定义池构造函数如下所示: Executor executo

我想知道如何有任何库或代码创建文件的小块,以实现多个下载&多线程暂停、恢复功能

假设在play store中,您可以找到许多下载管理器应用程序,如下所示

我在Github中找到了很多库,但仍然没有达到我在上图中显示的效果


您可以使用ThreadPoolExecutor轻松管理多个线程和工作分配。ThreadPoolExecutor根据需要管理线程的创建和终止

乍一看,它可能看起来相当吓人,但当你花10分钟阅读它时,它确实相当简单

自定义池构造函数如下所示:

Executor executor = new ThreadPoolExecutor(
     int corePoolSize, 
     int maximumPoolSize, 
     long keepAliveTime, TimeUnit unit, 
     BlockingQueue<Runnable> workQueue, 
     ThreadFactory threadFactory, 
     RejectedExecutionHandler handler 
); 
您还可以使用内置的执行器


您可以在这里阅读更多信息:

我真的不知道这些是否正确,但从我所能读到的内容来看,您必须使用
范围
http头来执行类似的操作。您计算文件大小,然后将其分成相同字节大小的块,然后生成线程下载它们。

否。您必须自己处理。但是池将处理工作分配。
executor.execute(runnable);