美文网首页
懒加载(LazyLoad)

懒加载(LazyLoad)

作者: 磨剑十年 | 来源:发表于2017-04-20 21:23 被阅读0次

懒加载,即延迟加载,需要的时候再加载到内存。

一次性加载数据,类似C语言中变量的定义,需要统一在函数体的最开始部分定义。iOS的设备的内存普遍不大,因此一次性加载会使程序运行缓慢。

懒加载,类似C++语言,灵活度更高,需要用到的时候再定义。而且有些数据在后期加载时,可能前面已经有些数据被释放了,内存会比之前一次性加载轻松。

同样的道理,iOS中大概有两种形式的懒加载:

  • 数据的懒加载
  • UI 控件的懒加载,这大部分是 iOS 的内部封装

这两种形式的懒加载的加载方式都是同一种,都是对属性的getter方法的重写。

01. // 数据的懒加载
02. // 1、定义一个存储数据对象的属性,例如加载plist文件
03. @property (nonatomic, strong) NSArray *array;  //plist文件的数据一般加载到数组对象中,数组属性 -- strong
04. ...
05. // 2、实现getter方法的重写
06. - (NSArray *)array{
07.     //判断扩展的成员是否为nil,即判断是否为首次懒加载,懒加载核心就是为了懒,当然对于加载操作做的越少越好
08.     if(_array == nil)    // 需要注意这里不能self.array == nil,会陷入死循环,很多时候还是要区分_array 和 self.array 的
09.     {
10.             // 具体见plist文件的读写
11.     }
12.     return _array;   // 这里_array != self.array
13. }
14. ...
01. // UI 控件的懒加载
02. // iOS 内部的一个例子,表视图的单元格中的UIImageView,UILabel等
03. @property (strong, nonatomic) UIImageView *imageView;
04. @property (strong, nonatomic) UILabel *textLabel;
05. // 当然,这些被封装了,也不知道到底是不是,但感觉上如果是懒加载比较好
06. // 表视图的单元格由4种格式,并不是所有格式都需要图片控件的,因此感觉懒加载会更灵活
07. - (UIImageView *)imageView
08. {
09.     if(_imageView == nil){
10.             _imageView = [[UIImageView alloc] initWithFrame: ...];
11.             ...    // 图片控件的配置信息
12.      }
13.      return _imageView;
14. }

相关文章

  • vue-cli 插件 vue-lazyload 图片懒加载

    vue-lazyload 图片懒加载 解决

  • 前端性能优化之Lazyload

    前端性能优化之Lazyload @(冬晨)[JavaScript|技术分享|懒加载] [TOC] Lazyload...

  • 懒加载 -- lazyLoad

    懒加载原理: 先将img标签中的src链接设为同一张图片(空白图片),将其真正的图片地址存储再img标签的自定义属...

  • 懒加载(LazyLoad)

    懒加载,即延迟加载,需要的时候再加载到内存。 一次性加载数据,类似C语言中变量的定义,需要统一在函数体的最开始部分...

  • 懒加载——lazyload

    在声明img元素时,只需要将其图片地址放到data-src中,并且声明class="lazyload"即可实现图片...

  • 懒加载和预加载

    懒加载 js懒加载 意义 懒加载(LazyLoad)是前端优化的一种有效方式,能极大的提升用户体验,图片加载是其重...

  • Vue-lazyload 的使用

    Vue 项目使用 Vue-lazyload 做图片懒加载。 下载 下载 Vue-lazyload 的包NPM包 引...

  • Vue-lazyload 的使用

    Vue 项目使用 Vue-lazyload 做图片懒加载。 下载 下载 Vue-lazyload 的包NPM包[h...

  • 相关插件

    axios vue-router vuex vue-lazyload 图片懒加载 element-ui 按需加载 ...

  • 在vue中使用图片懒加载vue-lazyload插件

    在vue中使用图片懒加载vue-lazyload插件 使用方式 使用vue的 vue-lazyload 插件插件地...

网友评论

      本文标题:懒加载(LazyLoad)

      本文链接:https://www.haomeiwen.com/subject/cuzlzttx.html