2012-01-07 66 views
1

我得到了一个下载文件的服务。这个文件可以达到200Mb。当下载这个文件时,我不能做任何其他的http请求,因为连接被完全使用。我是否可以限制下载速度,以便发送和接收一些小的后台请求?减慢后台作业的下载速度?

回答

-1

是您的代码下载文件运行在完全Thread

使用Service确实不是表示您的代码将单独运行Thread。实际上所有的Service生命周期方法,如onCreate(),onBind()等都在应用程序线程中调用。如果您在主线程中从网络下载某些内容,则可能是阻止其他请求的原因。无论如何,所有与网络/数据库/文件一起工作的代码都应该在不同的线程中执行。

如果您正在使用单独的线程进行网络操作,那么您可以在while循环中插入Thread.sleep(10),以便在数据流的每个部分之间进行循环。

+0

所有下载均以线程运行。 Thread.sleep不是我想要使用的,因为我无法设置下载速度,例如到200kb/s或30kb/s。 – 2013-01-20 23:56:27