我想在用户等待时将数百张潜在的图像列表下载到SD卡中。我希望获得最大吞吐量,但仍然是一个负责任的应用程序。我会像这个答案中所述那样,将已下载的数据保存为
我需要考虑哪些因素?
InputStream
。我需要考虑哪些因素?
InputStreams
数量是否有限制?增加并发是否会更有效地利用无线电功率(大多数数据都是下行)?InputStream
。InputStreams
数量是否有限制?增加并发是否会更有效地利用无线电功率(大多数数据都是下行)?请查看AT&T网站上有关如何在编写大量使用网络的应用程序时提高效率的一些文章。http://developer.att.com/developer/forward.jsp?passedItemId=7200042
他们的ARO工具还将帮助您确保应用程序有效利用网络,并使应用程序性能和电池使用最小化。http://developer.att.com/developer/legalAgreementPage.jsp?passedItemId=9700312
最近发布的Android traceview工具与Android SDK一起提供,也将帮助您。http://developer.android.com/tools/debugging/debugging-tracing.html
我认为最好的方法是在运行时测量吞吐量,并调整并发下载数量以获得最高吞吐量。
不同的网络连接类型(wifi,lte,3g等)在不同位置的不同供应商将确定最佳连接数。
因此,我会从一个连接开始,测量其吞吐量,然后创建另一个连接并再次测量。如果您获得更多的吞吐量,请继续添加连接,直到看到下降。