iOS开发UI中懒加载的使用方法
2015-05-02 09:46
288 查看
[b]1.懒加载基本[/b]
懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其getter方法。说的通俗一点,就是在开发中,当程序中需要利用的资源时。在程序启动的时候不加载资源,只有在运行当需要一些资源时,再去加载这些资源。
我们知道iOS设备的内存有限,如果在程序在启动后就一次性加载将来会用到的所有资源,那么就有可能会耗尽iOS设备的内存。这些资源例如大量数据,图片,音频等等,所以我们在使用懒加载的时候一定要注意先判断是否已经有了,如果没有那么再去进行实例化
[b]2.使用懒加载的好处:[/b]
(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强
(2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合
(3)只有当真正需要资源时,再去加载,节省了内存资源。
[b]3.代码示例[/b]
例如应用的登陆界面通常是Lable和textField相结合我们自定义一个LTView类包含titleLable属性和textField属性
然后我们通过重写属性的getter方法可以完成lazy loading(懒加载)模式,使用lazy loading可以将代码按照模块封装,同时提高类的灵活度,也可以在一定时期内节省内存的使用,对于当前的LTView,使用lazy loading表示我提供了两个子视图,如果需要使用,秩序调用getter方法既可以显示该子视图,如果不需要,LTView就是一个空的视图
提醒:这是苹果公司提倡的做法。其实苹果公司做的IOS系统中很多地方都用到了懒加载的方式,比如控制器的View的创建。
懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其getter方法。说的通俗一点,就是在开发中,当程序中需要利用的资源时。在程序启动的时候不加载资源,只有在运行当需要一些资源时,再去加载这些资源。
我们知道iOS设备的内存有限,如果在程序在启动后就一次性加载将来会用到的所有资源,那么就有可能会耗尽iOS设备的内存。这些资源例如大量数据,图片,音频等等,所以我们在使用懒加载的时候一定要注意先判断是否已经有了,如果没有那么再去进行实例化
[b]2.使用懒加载的好处:[/b]
(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强
(2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合
(3)只有当真正需要资源时,再去加载,节省了内存资源。
[b]3.代码示例[/b]
例如应用的登陆界面通常是Lable和textField相结合我们自定义一个LTView类包含titleLable属性和textField属性
然后我们通过重写属性的getter方法可以完成lazy loading(懒加载)模式,使用lazy loading可以将代码按照模块封装,同时提高类的灵活度,也可以在一定时期内节省内存的使用,对于当前的LTView,使用lazy loading表示我提供了两个子视图,如果需要使用,秩序调用getter方法既可以显示该子视图,如果不需要,LTView就是一个空的视图
提醒:这是苹果公司提倡的做法。其实苹果公司做的IOS系统中很多地方都用到了懒加载的方式,比如控制器的View的创建。
相关文章推荐
- iOS开发UI中懒加载的使用方法
- iOS开发UI中懒加载的使用方法
- iOS开发UI中懒加载的使用方法
- iOS开发-UI中懒加载的使用方法
- 解析iOS应用的UI开发中懒加载和xib的简单使用方法
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
- iOS开发 -UISearchController的使用和改善方法
- iOS开发-UI控件:UISwitch控件两种使用方法和监听
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
- 使用Swift开发IOS项目、UI创建、方法调用
- 使用Swift开发iOS项目、UI创建、方法调用
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
- iOS开发中使用[[UIApplication sharedApplication] openURL:] 加载其它应用
- ios 开发视图的tag使用方法
- [ios开发基础之 Core Data[2]]如何使用Core Data – 预加载和引入数据
- ios开发中在当前窗口上加载视图的方法