1
我得到了一個下載文件的服務。這個文件可以達到200Mb。當下載這個文件時,我不能做任何其他的http請求,因爲連接被完全使用。我是否可以限制下載速度,以便發送和接收一些小的後臺請求?減慢後臺作業的下載速度?
我得到了一個下載文件的服務。這個文件可以達到200Mb。當下載這個文件時,我不能做任何其他的http請求,因爲連接被完全使用。我是否可以限制下載速度,以便發送和接收一些小的後臺請求?減慢後臺作業的下載速度?
是您的代碼下載文件運行在完全Thread
?
使用Service
確實不是表示您的代碼將單獨運行Thread
。實際上所有的Service
生命週期方法,如onCreate()
,onBind()
等都在主應用程序線程中調用。如果您在主線程中從網絡下載某些內容,則可能是阻止其他請求的原因。無論如何,所有與網絡/數據庫/文件一起工作的代碼都應該在不同的線程中執行。
如果您正在使用單獨的線程進行網絡操作,那麼您可以在while循環中插入Thread.sleep(10)
,以便在數據流的每個部分之間進行循環。
所有下載均以線程運行。 Thread.sleep不是我想要使用的,因爲我無法設置下載速度,例如到200kb/s或30kb/s。 – 2013-01-20 23:56:27