UITableview优化

说明:

  • 开始只创建一部分可见的cell(已由Xcode实现)
  • 在滚动的时候,先去缓存池中查找可用的cell,如果有,则取出使用

优化的两种方法

  • 方法1:在创建cell时先去缓存池找是否有可用的cell
    NSString *ID=@"test";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    if(cell==nil){
        cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
    }
    cell.textLabel.text=[NSString stringWithFormat:@"test%zd",indexPath.row];
  • 方法2:注册cell
    //在viewDidLoad方法注册cell,注册一次即可
    [tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:ID];

    //注册之后效果同方法1
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    cell.textLabel.text=[NSString stringWithFormat:@"test%zd",indexPath.row];
时间: 2024-12-14 03:01:24

UITableview优化的相关文章

UITableView优化技巧

最近在微博上看到一个很好的开源项目VVeboTableViewDemo,是关于如何优化UITableView的.加上正好最近也在优化项目中的类似朋友圈功能这块,思考了很多关于UITableView的优化技巧,相信这块是难点也是痛点,所以决定详细的整理下我对优化UITableView的理解. UITableView作为iOS开发中最重要的控件之一,其中的实现原理很是考究.Apple在这块的优化水平直接决定了iOS的体验能甩安卓几条街,哈哈,扯淡扯多了...好了,废话不多说,直接进入主题.首先来谈谈

UITableView 优化总结

最近在微博上看到一个很好的开源项目VVeboTableViewDemo,是关于如何优化UITableView的.加上正好最近也在优化项目中的类似朋友圈功能这块,思考了很多关于UITableView的优化技巧,相信这块是难点也是痛点,所以决定详细的整理下我对优化UITableView的理解. UITableView作为iOS开发中最重要的控件之一,其中的实现原理很是考究.Apple在这块的优化水平直接决定了iOS的体验能甩安卓几条街,哈哈,扯淡扯多了...好了,废话不多说,直接进入主题.首先来谈谈

详细整理:UITableView优化技巧

最近在微博上看到一个很好的开源项目VVeboTableViewDemo,是关于如何优化UITableView的.加上正好最近也在优化项目中的类似朋友圈功能这块,思考了很多关于UITableView的优化技巧,相信这块是难点也是痛点,所以决定详细的整理下我对优化UITableView的理解. UITableView作为iOS开发中最重要的控件之一,其中的实现原理很是考究.Apple在这块的优化水平直接决定了iOS的体验能甩安卓几条街,哈哈,扯淡扯多了...好了,废话不多说,直接进入主题.首先来谈谈

UITableView优化那点事

forkingdog关于UITableView优化的框架其实已经能够应用在一般的场景,且有蛮多的知识点供我们借鉴,借此站在巨人的肩膀上来分析一把. 至于UITableView的瓶颈在哪里,我相信网上随便一搜就能了解的大概,我这里顺便提供下信息点: 1 //罪魁祸首 2 tableView:cellForRowAtIndexPath: 3 tableView:heightForRowAtIndexPath: 框架同样根据这两个痛点给出了解决方案: 高度计算 fd_heightForCellWith

[转] 详细整理:UITableView优化技巧

原文:http://www.cocoachina.com/ios/20150602/11968.html 最近在微博上看到一个很好的开源项目VVeboTableViewDemo,是关于如何优化UITableView的.加上正好最近也在优化项目中的类似朋友圈功能这块,思考了很多关于UITableView的优化技巧,相信这块是难点也是痛点,所以决定详细的整理下我对优化UITableView的理解. UITableView作为iOS开发中最重要的控件之一,其中的实现原理很是考究.Apple在这块的优化

UITableview优化随笔(1)-提高加载更多内容时的效率

UITableView上拉加载更多的功能相信很多应用都会用到,类似朋友圈.微博这样的应用,tableView中的数据内容高度根据内容来变化,同时需要加载大量的数据(上拉加载更多),要怎样才能保证加载数据时的页面流畅呢? UITableView的原理和使用,以及其滚动帧率的优化,不是本篇blog要讨论的问题,这个在网上能搜到大量资料,这里不再赘述. 一般在实现上拉加载更多数据的实现思路是: 1.获取新的数据 2.在当前dataArray中添加这些数据 3.在tableView上显示这些数据 其中第

UITableView优化方案

使用不透明视图.不透明的视图可以极大地提高渲染的速度.因此如非必要,可以将table cell及其子视图的opaque属性设为YES(默认值).其中的特例包括背景色,它的alpha值应该为1(例如不要使用clearColor):图像的alpha值也应该为1,或者在画图时设为不透明. 不要重复创建不必要的table cell.前面说了,UITableView只需要一屏幕的UITableViewCell对象即可.因此在cell不可见时,可以将其缓存起来,而在需要时继续使用它即可.而UITableVi

UITableView优化笔记(一)

推荐:http://code4app.com/ios/VVeboTableView/565d75a3594b90bf268b49ff 1: heightForRowAtIndexPath方法小做文章 原因:tableview继承自scrollview,当tableview加载时需要将contentSize计算出来.所以第一次加载时会频繁调用此方法,如:table有100行,则此方法调用100次,将每次得出的结果相加得到contentSize.就像每次使用scrollview滚动时都要设置cont

UITableView优化技巧整理

一.tableView和cell都尽量少用或者不用clearColor 二.按需加载cell的内容.当用户高速滑动的时候,只加载目标行前后的几行数据,减少不必要的渲染和加载对程序性能的消耗. 三.异步绘制.异步draw(),或者重写drawRect() 四.提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法. 五.尽量少用addView给Cell动态添加View,可以初始化时就添加,然后通过hide来控制是否显示. 六.减少subviews的数量