01-懒加载

懒加载,又被称为延迟加载,是指在开发过程当中,并不是在程序一启动的时候就加载资源,而是在用到的时候再进行创建和加载。

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方法中分别负责各自的实例化处理,代码之间的耦合度也会随之相应的降低。

          —— 只有当真正需要资源的时候,才会去创建和加载,节省了内存资源。

 

  

posted @ 2015-07-10 21:25  借东西的小人Jessica  阅读(116)  评论(0)    收藏  举报