Android下载多线程文件的速度更快

时间:2014-03-04 21:04:04

标签: java android multithreading performance download

我正在开发一款需要下载大视频文件(300-500MB)的应用 我想知道是否有办法加速使用多线程下载单个文件 我在TubeMate等应用程序上看到了这种类型的实现,但我对用于实现它的代码一无所知 我不需要你为我编码:)我只需要一个起点,如关于此的文章或教程,tks。

2 个答案:

答案 0 :(得分:1)

无论是否找到库函数,您都可以创建自己的脚本来处理部分下载。

例如,在PHP中,您可以使用fopen(),fread()...函数在服务器上打开流,将文件搜索到特定位置并将字节传输给请求者。文件偏移量和块长度参数将由客户端使用POST或GET方法设置。

检查this link。也许它对你有所帮助。

另一方面,如果您无法访问服务器,并且只想提高任何Internet站点的下载量,那么您可以查找HTTP range headerhere

答案 1 :(得分:1)

视频可以表示为字节数组。如果要更快地加载数组,可以将其分成几部分并将每个部分加载到单独的线程中。    最好的方法是使用ThreadPoolExecutor运行任务和FutureTask来检索结果。    如果您需要从互联网上载视频,您的服务器应该支持可以为您提供视频“部分”的API呼叫。 以下是如何使用执行者和期货的好样本:https://www.journaldev.com/1650/java-futuretask-example-program