懒加载,又被称为延迟加载,是指在开发过程当中,并不是在程序一启动的时候就加载资源,而是在用到的时候再进行创建和加载。
iOS设备的内存有限,如果在程序一启动的时候就加载所有的资源(如图片、数据、音频的加载等),就会占用设备的大量内存。
——1、自定义控件
对于自定义控件属性,必须是strong类型,防止控件创建之后因为没有强指针指向而销毁。
如:
// 默认表情内容 @property(nonatomic,strong )SHEmotionListView * defaultListView;
——2、在属性的getter方法中实现懒加载
如:
- (SHEmotionListView *)defaultListView { if (!_defaultListView) { self.defaultListView = [[SHEmotionListView alloc] init]; NSString *path = [[NSBundle mainBundle] pathForResource:@"EmotionIcons/default/info.plist" ofType:nil]; self.defaultListView.emotions = [SHEmotion objectArrayWithKeyValuesArray:[NSArray arrayWithContentsOfFile:path]]; } return _defaultListView; }
懒加载是指在有一定的需要的时候,再实例化到内存中。
[self addSubview:self.recentListView];
懒加载在第一次调用getter方法的时候,控件为空,然后才进行实例化加载到内存中。
懒加载的好处是:
—— 不必将创建对象的代码全部都写在ViewDidLoad方法当中,代码的可读性会更强。
—— 每个属性的getter方法中分别负责各自的实例化处理,代码之间的耦合度也会随之相应的降低。
—— 只有当真正需要资源的时候,才会去创建和加载,节省了内存资源。
时间: 2024-10-24 06:27:03