直播APP开发之iOS开发中的列表优化思路

APP中,可能是平打交道最多的UI控件之一,其重要性不言而喻,对其性能的优化同样至关重要。而对于iOS开发,列表就是我们常说的UITableView / UICollectionView。在进行直播APP开发时针对于列表的优化自然是必不可少的。

       这里以UITableView为例简略介绍一下列表优化思路。

(1)    cell复用。这是每一个iOS开发者都非常熟悉的一部分内容。我们经常在cellForRowAtIndexPath:中为每一个cell绑定数据,实际上在调用cellForRowAtIndexPath:的时候cell还没有被显示出来,为了提高效率我们应该把数据绑定的操作放在cell显示出来后再执行,可以在tableView:willDisplayCell:forRowAtIndexPath:(以后简称willDisplayCell)方法中绑定数据。注意willDisplayCell在cell 在tableview展示之前就会调用,此时cell实例已经生成,所以不能更改cell的结构,只能是改动cell上的UI的一些属性(例如label的内容等)。

(2)    减少视图数目。我cell上添加系控件的候,实际上系都会用底的接口制,大量添加控件,会消耗很大的源并且也会影响渲染的性能。当使用默UITableViewCell并且在它的ContentView上面添加控件会相当消耗性能。而且在初始化cell的时候就尽量把需要显示的内容全部创建完毕,然后根据需要显示或者隐藏,不要动态创建控件。

(3)    异步操作。我们时常会看到这样一个象,就是加载时整个面卡住不,怎么点都没用,仿佛死机了一般。原因是主线程被阻塞了。所以于网路数据的求或者片的加,我可以开启多线程,将耗操作放到子线程中行,异步化操作。

(4)    按需加载。滑动很快时,只加载目标范围内的cell,这样按需加载(配合SDWebImage),极大提高流畅度。举个简单的例子:

 0d8501dc9e9b83718e0571c349543002cc80e3b0

       当然别忘了在cellForRowAtIndexpath:代理方法中加入以下几句

 556ebd3672bf83d2c76c8e665facd93709307f22

       对于专业从事直播APP开发的软件公司的技术人员来讲,列表优化是常常用到的。当然,其他的APP开发如果采用相同控件的话,本篇优化思路同样适用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值