NSURLSession的用法:
- NSURLSession對象是長期存在的滥嘴。
- 一個常見的使用模式是在app啟動時創(chuàng)建一個單例墓毒,并且在應用程序的生命周期內(nèi)持有它吓揪。
- 為每個請求新建一個NSURLSession對象是沒有必要的,且效率低下的所计。
上面的用法是最優(yōu)的柠辞,但并不是說你在項目中不能創(chuàng)建多個NSURLSession對象,在一些情況下創(chuàng)建多個NSURLSession對象是完全合理且必要的主胧。但是絕對不推薦為每個請求新建一個NSURLSession對象钾腺。
session API的目標是為每個不同邏輯的請求類型新建一個NSURLSession對象。例如:
- 應用程序中不同的子系統(tǒng)(第三方SDK/開源庫)可能會使用它們自己的NSURLSession對象讥裤。
- web瀏覽器可能會為每個私有瀏覽選項卡新建一個NSURLSession對象。
- 郵件類應用可能會為每個賬號新建一個NSURLSession對象姻报,因為這樣可以控制TLS版本號己英。
- 你可能用一個單獨的NSURLSession對象處理多個TLS標識。
- 你可能為普通請求新建一個標準的NSURLSession對象吴旋,以及為大型下載任務新建一個background NSURLSession對象损肛。
所有這些都是在一個應用中使用多個NSURLSession對象的完美例子厢破。
重要的事情說三遍,為每個請求新建一個NSURLSession對象是沒有必要的治拿,且效率低下的摩泪,是絕對不推薦的。