2012-01-07 27 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