GCD筆記

1.NSOperation的做用:ios

 (1)是oc語言中基於GCD的面向對象的封裝數組

 (2)不用關心線程以及線程的生命週期緩存

  1. NSOperation抽象類,經過子類 或者系統提供兩個子類。安全

  2. 隊列;一個操做只能被添加到一個隊列網絡

  3. NSBlockOperation:建立一個操做;添加操做到隊列(併發隊列異步執行)併發

  4.  GCD是ios4.0推出的 主要針對多核cpu作了優化  是c語言的技術app

  5. 最大併發數:同時執行的任務數異步

  6. 暫停取消恢復:建立一個隊列->懶加載(最大併發數)->for-in添加操做到隊列->延時1秒->優化

  7. 暫停隊列[self.queue setSuspended :YES]隊列默認Suspended是no   暫停的是隊列中尚未被運行的操做  正在運行的操做不能經過此方法暫停;   繼續隊列:[self.queue setSuspended :NO];  取消隊列:[self.queue cancelAllOperations]取消隊列中沒有被運行的操做  正在被運行的操做不能經過此方式取消   (當隊列suspended == YES時  往隊列中再添加操做  不運行)spa

  8. 拿到隊列中的操做數:(self.queue.operationCount)

  9. 操做的優先級(服務質量): 優先級高的不必定先執行

  10.  隊列的優先級:優先級高的不必定比優先級低的先運行,有更多的可能被cpu調度

  11. 操做依賴:addDependency  能夠跨隊列設置依賴關係  操做加入到隊列以前設置  同步任務

  12. 圖片下載:  Model ->//字典轉模型 //懶加載->ATS配置顯示界面->圖片->模擬網絡慢->開啓子線程->線程通訊->添加操做到隊列

  13. app出現的問題:(1)圖片顯示不出來 ( 由於沒有frame) ;(2)當點擊或者拖動界面  圖片纔出來:   cell中的圖片是懶加載;(3)設置佔位圖片:cell一開始建立的時候  就生成imageview的frame(4)自定義cell:每次滾動都下載圖片浪費流量(5)內存緩存:保存圖片到內存緩存   (6)當網速很慢的時候  來回滾動 一個圖片開啓多個下載操做 :建立可變數組用於記錄執行下載操做  操做緩存 (7)操做緩存   內存不夠用:清除內存緩存:清空操做緩存(8)沙盒緩存:存儲圖片到沙盒

  14. UI線程不安全

Emily.Wang

相關文章
相關標籤/搜索