關於UITable的優化:
1.最常用的就是不重復生成單元格,很常見,很實用;
2.使用不透明的視圖可以提高渲染速度,xCode中默認TableCell的背景就是不透明的;
3.如果有必要減少視圖中的條目,本文中設置textLabel,detialTextLabel,imageView,accessoryType;
4.更新條目的時候不要整體更新,更新選中的即可,建議reloadRowsAtIndexPaths,而不是使用reloadData;提前計算並緩存好高度(布局),因為heightForRowAtIndexPath:是調用最頻繁的方法;
異步繪制,遇到復雜界面,遇到性能瓶頸時,可能就是突破口;
滑動時按需加載,這個在大量圖片展示,網絡加載的時候很管用!(SDWebImage已經實現異步加載,配合這條性能槓槓的)。
除了上面最主要的三個方面外,還有很多幾乎大伙都很熟知的優化點:
正確使用reuseIdentifier來重用Cells
盡量使所有的view opaque,包括Cell自身
盡量少用或不用透明圖層
如果Cell內現實的內容來自web,使用異步加載,緩存請求結果
減少subviews的數量
在heightForRowAtIndexPath:中盡量不使用cellForRowAtIndexPath:,如果你需要用到它,只用一次然後緩存結果
盡量少用addView給Cell動態添加View,可以初始化時就添加,然後通過hide來控制是否顯示