iOS LazyTableImages解析(图片懒加载)

简单了解


  • 懒加载:

    顾名思义,用到的时候才去加载,又称延时加载。OC中常用两种懒加载如下:


1.非image实例懒加载:


- (UILabel *) nameLabel {

//手动实现实例的get方法,调用这个实例的时候判断该实例是否已初始化,若未初始化则先初始化后返回

  if (!_nameLabel) {

      _nameLabel = [[UILabel alloc] init];

  }

  return _nameLabel;

}


2.image实例懒加载,多用于tableView加载图片中,实现逻辑同上,用到的时候再加载。核心思想:


当tablew开始滑动的时候停止请求图片,当tableView停址滑动的时候开始请求图片。如果在请求过程中滑动tableView,则手动停止请求。


  • 为什么使用懒加载

    当一个项目做完所有功能,并且测试通过后,身为程序猿应该干什么?坐等下一个需求?错!!!

    这个时候表面上功能点全部跑通,但是潜在问题还是存在的。比如滑动tableView的时候偶现卡顿,如果用户很大,这就是硬伤!一般情况下,创业公司的源代码中,异步发送请求的同时并未做其他操作,可以滑动tableView,这个时候可以看到tableView的fps很低,就是因为滑动的同事在请求数据,虽然异步,但在渲染的时候就会影响性能。

    所以这就是为什么!

  • 隆重的介绍本文主角LazyTableImages

    LazyTableImages是苹果官方Demo,用来展示图片懒加载。通过源代码,可以很清晰的看出图片懒加载的思想。这里是LazyTableImages Demo链接,下文将分析核心代码片段。


核心代码解析


  • 单个加载Cell


if (!appRecord.appIcon) {

  if (self.tableView.dragging == NO && self.tableView.decelerating == NO) {

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值