在批量檔案上傳中,通過測試發現,使用nsurlsessionuploadtask的形式進行檔案上傳,如果同時啟動過多的上傳任務,會導致上傳任務的失敗率極高,失敗的原因基本都是請求超時。
按照以下方式對檔案上傳進行測試。
}測試結果為:
同樣的超時時長、同樣的網速狀態下,同時啟動的上傳任務只有前面幾個會成功,後面的任務會超時。
其中,當前兩個條件沒有變化時,任務數量達到一定數量後後面的基本就都會失敗。
例如:設定超時10s,在上傳速度1m/s的網路狀態下,上傳800k的檔案,同時啟動n>50個上傳任務,能成功上傳的穩定在18個左右)
控制同時啟動的上傳任務數量,既不能過少,也不能過多,在有任務結束時再啟動新的上傳任務。
這樣既能充分利用網路資源,又不會導致過多的任務同時啟動造成超時。
檔案上傳中另外乙個注意點是對於大檔案的上傳,不能把檔案直接讀入記憶體去上傳,你可以使用nsfilehandle來分片讀取大檔案完成上傳。
ios 載入xib遇到的坑
storyboard,個人覺得是個好玩意兒,但是什麼都做到其中總覺得雜亂。個人偏好把複雜的區域性控制項 比如定製的collectionviewcell 在xib檔案中拉好。在開發過程中遇到不少坑,記憶猶新的是 xib中的部件 比如button 設定圓角的效果不對 載入的xib不能resize大小。v...
iOS 開發中遇到的坑
用 建立了乙個view後能顯示,但無法響應觸控事件 出錯原因 可能是父view的frame為cgzero 使用cocoapods更新庫時,使用pod install無效。出錯原因 命令被牆 解決方法 pod install 換成pod install verbose no repo update這個...
ios 載入xib遇到的坑
storyboard,個人覺得是個好玩意兒,但是什麼都做到其中總覺得雜亂。個人偏好把複雜的區域性控制項 比如定製的collectionviewcell 在xib檔案中拉好。在開發過程中遇到不少坑,記憶猶新的是 xib中的部件 比如button 設定圓角的效果不對 載入的xib不能resize大小。v...