每一個NSURLSession
對象都需要一個NSURLSessionConfiguration
配置胯舷,我們不能簡單的通過alloc init
來建立對象姐呐。否則創(chuàng)建的對象不能識別類里面的方法些侍。
NSURLSessionConfiguration
三個主要的構(gòu)造方法
+ (NSURLSessionConfiguration *)defaultSessionConfiguration;
+ (NSURLSessionConfiguration *)ephemeralSessionConfiguration;
+ (NSURLSessionConfiguration *)backgroundSessionConfigurationWithIdentifier:(NSString *)identifier NS_AVAILABLE(10_10, 8_0);
- defaultSessionConfiguration: 默認(rèn) session 配置徒欣,類似 NSURLConnection 的標(biāo)準(zhǔn)配置饭望,使用硬盤來存儲緩存數(shù)據(jù)悔政。
- backgroundSessionConfiguration: 后臺session配置翁涤,與默認(rèn)配置類似桥言,不同的是會在后臺開啟另一個線程來處理網(wǎng)絡(luò)數(shù)據(jù)。
注意: 這里如果設(shè)置了超時限制的話葵礼,可能會導(dǎo)致一直下載失敗号阿。因為后臺下載會根據(jù)設(shè)備的負(fù)載程度決定分配下載的資源。
PS: 后臺處理,由系統(tǒng)統(tǒng)一決定,并且所有的需要后臺處理的都會被同時列隊,或者說同時進(jìn)行,只要負(fù)載允許; - ephemeralSessionConfiguration: 臨時session配置鸳粉,與默認(rèn)配置相比扔涧,這個配置不會將緩存、cookie等存在本地届谈,只會存在內(nèi)存里枯夜,所以當(dāng)程序退出時,所有的數(shù)據(jù)都會消失