IOS UITableView性能优化
1.關(guān)于UITableView性能的優(yōu)化,很容易就讓人想起UITableView的復(fù)用,那么除此之外呢?還有么有其他的方法能夠優(yōu)化用戶的體驗(yàn),或者說(shuō)優(yōu)化我們的設(shè)計(jì)的軟件呢?
????答案是:有!
????????一般我們?cè)谠O(shè)計(jì)一款應(yīng)用的時(shí)候,占用系統(tǒng)資源最多,應(yīng)該就是圖片的加載了吧,的確,一方面圖片占用的內(nèi)存大,而且數(shù)量多,通常我們需要開(kāi)啟多個(gè)線程去下載這些圖片,但是這些圖片當(dāng)中,有些圖片用戶是并不關(guān)心的,如何加載用戶喜歡的資源(圖片),而不去加載那些用戶不感興趣的資源,就是今天的主題,這個(gè)問(wèn)題的解決方法,其實(shí)說(shuō)出來(lái)估計(jì)大家都知道,但是向這方面想的人卻很少!
????這個(gè)方法就是:懶加載!
這里我舉個(gè)例子,比如說(shuō)我們的QQ列表,我們?cè)诖蜷_(kāi)好友列表時(shí),嘩的一下展開(kāi)幾百個(gè)好友cell,如果不幸的是你想要找的好友在最下面,那么你接下要做的事就是下拉表視圖,帶來(lái)的直接結(jié)果就是,你拉下來(lái)的所有表項(xiàng),好友頭像都會(huì)加載,用戶的角度來(lái)說(shuō),這些不必要的流量就是一種浪費(fèi),而我們通過(guò)懶加載方式避免這種浪費(fèi),廢話少說(shuō),看代碼
//實(shí)現(xiàn)tableView的代理,這個(gè)類也會(huì)成為scrollView的代理 -?(void)scrollViewDidEndDecelerating:(UIScrollView?*)scrollView {//假如我們使用的時(shí)第三方圖片加載類庫(kù)(SDWebImage或者AFNetworking)//我們?cè)谝晥D滾動(dòng)停止的加載我們需要的圖片,著這里我們可以寫(xiě)一個(gè)代理,通知方法,或者block都可以,調(diào)用圖片加載,而在視圖滾動(dòng)沒(méi)有停止的時(shí)候不要去加載圖片,查看滾動(dòng)視圖停止時(shí)有哪些cell,方法為_(kāi)tableView.visibleCells,不過(guò)通常通過(guò)取數(shù)組中某個(gè)model的p_w_picpathURL來(lái)設(shè)置圖片,而取這個(gè)值這是通過(guò)下方這個(gè)方法NSLog(@"%@",_tableView.indexPathsForVisibleRows); }轉(zhuǎn)載于:https://blog.51cto.com/8947509/1607594
總結(jié)
以上是生活随笔為你收集整理的IOS UITableView性能优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 漫谈中国自主杀毒引擎
- 下一篇: 动态代理-JDK_proxycglib