UITableView的优化

 在UITableView中的 cellForRowAtIndexPath:方法中,会根据内容的多少来实例化单元格,有多少行内容就有多少个单元格,当内容多的时候,会消耗很多内存的,所做的优化就是,当view移动的时候,单元格移出视图,单元格将不会被销毁,而是放到了缓存池中,当需要新的单元格的时候,会首先去缓存池寻找是否有可用的,没有就再实例化一个。如:一个屏幕一次显示10行内容,一般需实例化11个单元格即可,可重复使用。

以下方法需写入cellForRowAtIndexPath:方法中:




   // 0. 标示符统一,使用static的目的可以保证表格标示符永远只有一个

    static NSString *cellIdentifier = @"myCell";

    

    // 1. 首先在缓冲池中找名为"myCell"的单元格对象

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    

    // 2. 如果没有找到,实例化一个新的cell

    if (cell == nil) {        

        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值