IOS UITableView性能優化

1.關於UITableView性能的優化,很容易就讓人想起UITableView的複用,那麼除此之外呢?還有麼有其他的方法能夠優化用戶的體驗,或者說優化我們的設計的軟件呢?


    答案是:有!

        一般我們在設計一款應用的時候,佔用系統資源最多,應該就是圖片的加載了吧,的確,一方面圖片佔用的內存大,而且數量多,通常我們需要開啓多個線程去下載這些圖片,但是這些圖片當中,有些圖片用戶是並不關心的,如何加載用戶喜歡的資源(圖片),而不去加載那些用戶不感興趣的資源,就是今天的主題,這個問題的解決方法,其實說出來估計大家都知道,但是向這方面想的人卻很少!

    這個方法就是:懶加載!


這裏我舉個例子,比如說我們的QQ列表,我們在打開好友列表時,嘩的一下展開幾百個好友cell,如果不幸的是你想要找的好友在最下面,那麼你接下要做的事就是下拉表視圖,帶來的直接結果就是,你拉下來的所有表項,好友頭像都會加載,用戶的角度來說,這些不必要的流量就是一種浪費,而我們通過懶加載方式避免這種浪費,廢話少說,看代碼

//實現tableView的代理,這個類也會成爲scrollView的代理
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    //假如我們使用的時第三方圖片加載類庫(SDWebImage或者AFNetworking)
    //我們在視圖滾動停止的加載我們需要的圖片,着這裏我們可以寫一個代理,通知方法,或者block都可以,調用圖片加載,而在視圖滾動沒有停止的時候不要去加載圖片,查看滾動視圖停止時有哪些cell,方法爲_tableView.visibleCells,不過通常通過取數組中某個model的imageURL來設置圖片,而取這個值這是通過下方這個方法
    NSLog(@"%@",_tableView.indexPathsForVisibleRows);
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章