注册 登录
主题 : uitableviewcell重用效率会高吗?
级别: 新手上路
UID: 346079
精华: 0
发帖: 6
可可豆: 42 CB
威望: 44 点
在线时间: 110(时)
注册时间: 2014-07-19
最后登录: 2017-03-10
楼主 : 发表于: 2014-11-18 19:17    发自: Web Page

uitableviewcell重用效率会高吗?   

自定义的cell,在不重用的情况下,当cell出了屏幕范围之后,cell内部调用dealloc方法,这说明它销毁了吧。那么tableview里面每次也就加载几个需要显示的cell,只是这些cell每次出现都是新建的而已。


那么问题来了,这跟cell重用的效率相差大不大,cell重用的优势在哪


级别: 新手上路
状态: 未签到 - [9天]
UID: 400537
精华: 0
发帖: 9
可可豆: 56 CB
威望: 39 点
在线时间: 625(时)
注册时间: 2014-11-11
最后登录: 2017-05-04
沙发 : 发表于: 2014-11-18 19:29    发自: Web Page
你有100个cell的时候他的作用就出来了
级别: 新手上路
UID: 346079
精华: 0
发帖: 6
可可豆: 42 CB
威望: 44 点
在线时间: 110(时)
注册时间: 2014-07-19
最后登录: 2017-03-10
板凳 : 发表于: 2014-11-18 19:57    发自: Web Page
有大区别吗,需要展示的cell个数是一样的,一种是一直用那么几个cell,一种是不停新建cell并销毁不用的cell。我这边做新闻客户端,拉个上百条数据很正常,里面还带了图片,也没见明显卡顿。我就是想知道重用的具体优势体现在哪
级别: 新手上路
状态: 未签到 - [9天]
UID: 400537
精华: 0
发帖: 9
可可豆: 56 CB
威望: 39 点
在线时间: 625(时)
注册时间: 2014-11-11
最后登录: 2017-05-04
3 楼:  发表于: 2014-11-18 20:04    发自: Web Page
不停创建销毁不耗性能吗,重用是用少量的内存去换一个更高的效率,现在的手机配置跑你几个cell会卡吗?应用性能很重要。
级别: 侠客
状态: 未签到 - [1天]
UID: 241805
精华: 0
发帖: 87
可可豆: 179 CB
威望: 94 点
在线时间: 231(时)
注册时间: 2013-09-10
最后登录: 2015-04-01
4 楼:  发表于: 2014-11-18 20:55    发自: Web Page
还有一点是高频次的alloc\dealloc,会导致堆内存可用片段不连续。重用可以有效避免这个问题
级别: 新手上路
UID: 337321
精华: 0
发帖: 17
可可豆: 17 CB
威望: 17 点
在线时间: 343(时)
注册时间: 2014-07-02
最后登录: 2016-03-04
5 楼:  发表于: 2014-12-06 17:43    发自: Web Page
主要就是内存。 你可以试一下 循环创建一些视图,自己控制一个循环条件,如果不释放的话创建一些之后就崩了。但是 如果用重用的话肯定不会
级别: 新手上路
UID: 401924
精华: 0
发帖: 4
可可豆: 4 CB
威望: 4 点
在线时间: 187(时)
注册时间: 2014-11-16
最后登录: 2017-05-25
6 楼:  发表于: 2014-12-06 20:06    发自: Web Page
cell 创建的数量正好是一屏幕中cell的数量+1 当你进行翻屏时 消失掉的cell会进行重用.所以占用空间小,而且重用机制的cell不会在自己消失于屏幕的时候被销毁
级别: 新手上路
状态: 未签到 - [1天]
UID: 44886
精华: 0
发帖: 39
可可豆: 100 CB
威望: 79 点
在线时间: 144(时)
注册时间: 2010-12-30
最后登录: 2016-07-07
7 楼:  发表于: 2015-01-11 21:59    发自: Web Page
主要差别在这里:
当你划得非常快的时候, 比如向上使劲划一下, 百级毫秒内就滚几十个cell, 这时候效率就明显不同了.

专注于有用的东西的创作, 追求美.
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

验证问题:
苹果公司现任CEO是谁?2字 正确答案:库克

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部