對以前的項目總結一下:編程
事情是這樣的,我須要在定製Cell完成新聞類app的展現網絡
雖說SDWebImage提供了一個方法,異步加載圖片到UIImageView上多線程
可是,有些時候。須要的圖片並非須要鋪滿UIImageViewapp
因而就拋棄了,後來想一想仍是挺二逼的。我能夠在下面在鋪一層邊框UIImageView也能達到這個效果異步
因而乎,故做高大上,非要本身寫。spa
後來看別人的方法,找到點感受,仍是寫出來了,不過仍是創建在網絡良好的狀況下
線程
解決辦法orm
主要要作到一下幾個方面:隊列
1.除了UI部分,全部的加載操做都在後臺完成。這一點能夠經過dispatch或者performSelectorInBackground或者NSOperationQueue來實現。見:在iOS開發中利用GCD進行多線程編程iOS開發中使用NSOperationQueue進行多線程操做圖片
2.避免後臺加載完成多個資源以後集中到達佔用UI線程的處理時間太長。這一點能夠經過NSOperationQueue來實現,將資源到UI的展示過程放在隊列中逐個執行,且在每一個操做完成以後進行強制等待,能夠用usleep(int microSeconds)來解決。
3.重用cell。建立cell通常是很慢的,必定要重用,甚至爲了performance,能夠在view建立之初就建立足夠多的cell在重用隊列中。