我使用AsyncTask將照片上傳到Amazon S3服務器。我發現AsyncTask一個接一個地等待,而不是默認並行運行。AsyncTask序列比並行更快
因此,將我的代碼更改爲使用executeOnExecutor(java.util.concurrent.Executor, Object[])
並行運行。但是我發現它比默認的AsyncTask序列執行慢。
我可以知道這有什麼問題嗎?因爲我認爲並行必須更快。我錯了嗎 ?
我使用AsyncTask將照片上傳到Amazon S3服務器。我發現AsyncTask一個接一個地等待,而不是默認並行運行。AsyncTask序列比並行更快
因此,將我的代碼更改爲使用executeOnExecutor(java.util.concurrent.Executor, Object[])
並行運行。但是我發現它比默認的AsyncTask序列執行慢。
我可以知道這有什麼問題嗎?因爲我認爲並行必須更快。我錯了嗎 ?
我的猜測是這是一個網絡問題。可能的原因有:
現在,我看到發生了什麼,@soulreaver感謝您的解釋。你能分享我如何更快地上傳圖像嗎? – Megamind
你寫的比兩個(單個和多個)的conntection上傳都是相同的速度。在這種情況下,我會檢查上傳速度是否不受服務器限制。如果是的話,你無能爲力。 – Kristopher
是的,你說得對,我應該考慮一下 – Megamind
上傳速度以kbps爲單位怎麼樣?兩種情況都一樣嗎?多個連接並不總是更快。 – Kristopher
我可以說同樣的速度!我注意到並行上傳在啓動時需要更多。哦!可能當他們共享連接時,它會變得連接速度慢,需要的時間比順序更多。你的意思是? – Megamind
我給你舉個例子:當你在一個torrent客戶端中增加10個連接數時,下載速度會明顯下降。那是因爲很多bandwidtch用於管理這些連接並且不傳輸數據。 – Kristopher