下载时我应该使用多少个并发网络连接?

时间:2012-08-09 22:29:56

标签: android concurrency download inputstream

我想在用户等待时将可能数百张图像的列表下载到SD卡。我想获得最大吞吐量,但仍然是一个负责任的应用程序。我将保存下载的数据,因为它填充了InputStream中的InputStreams

我应该记住哪些注意事项? {{1}}的数量是否有限制?增加更多的并发性能否或多或少有效地利用无线电(大部分数据都在下游)?

2 个答案:

答案 0 :(得分:1)

我怀疑最好的方法是在运行时测量吞吐量并调整并发下载次数以获得最高吞吐量。

不同位置的不同提供商的不同网络连接类型(wifi,lte,3g等)将决定最佳连接数。

因此,我将从一个连接开始,测量其吞吐量,然后再创建另一个连接并进行测量。如果您获得更多吞吐量,请继续添加连接,直至看到下降。

答案 1 :(得分:1)

请看一下AT& T网站上的一些文章,了解如何在编写使用网络的应用程序时提高效率。 http://developer.att.com/developer/forward.jsp?passedItemId=7200042

他们的ARO工具还可以帮助您确保应用程序有效利用网络,同时最大限度地降低应用程序性能和电池使用率。 http://developer.att.com/developer/legalAgreementPage.jsp?passedItemId=9700312

最近发布的Android SDK附带的Android跟踪视图工具也可以帮助您http://developer.android.com/tools/debugging/debugging-tracing.html