zoukankan      html  css  js  c++  java
  • iOS UITableviewCell优化

    iOS UITableviewCell优化

    0.Cell必须重用

    1.把Cell的opaque设置为YES

    2.多种样式的Cell分开写

    3.尽量提前初始化好要用到的UI不要每次更新页面的时候都要创建和删除

    4.尽量定高,如果动态算高度尽量不要用到UIKit的东西计算

    5.如果直接用IB加载的话尽量用- (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(5_0);

    6.如果高度变化切计算高度耗时间,可以用一个变量来记录当前cell的高已到达复用的效果

    7.如果图片过多滑动的时候尽量延迟加载图片

     

    TableView中实现平滑滚动延迟加载图片

    转自: http://www.starming.com/index.php?v=index&view=74

    利用CFRunLoopMode的特性,可以将图片的加载放到NSDefaultRunLoopMode的mode里,这样在滚动UITrackingRunLoopMode这个mode时不会被加载而影响到。

    UIImage *downloadedImage = ...;
    [self.avatarImageView performSelector:@selector(setImage:)
         withObject:downloadedImage
         afterDelay:0
         inModes:@[NSDefaultRunLoopMode]]; 

    -----------------------------------------知识补充---------------------------------------------


    alpha支持Animation(动画), hidden和opaque不支持动画
    hidden相比alpha开销小,alpha=0透明开销大,如果效果一样,用hidden好一点.
    hideen的时候view是不接收事件的,但alpha为0时View可以接收事件.
    当把View设置为透明的背景时,一般把opaque设置为YES,可以减少开销,对内存也好.

    http://www.cnblogs.com/YangFuShun/p/4505663.html

  • 相关阅读:
    时钟展频技术能有效降低EMI,深入讲解展频发生器!
    24:购物单
    22:按照字典输出字符串
    21:句子逆序
    20:字符反转
    19:ReverseNumber数字颠倒
    DNS原理及其解析过程
    18:字符个数统计
    17:不重复整数提取NoRepeatNum
    \s+ split替换
  • 原文地址:https://www.cnblogs.com/tomblogblog/p/4353213.html
Copyright © 2011-2022 走看看