懒加载与单例的区别

  • 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.

注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化。

  • 使用懒加载的好处:

(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强
(2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合


单例模式是一种常见的设计模式。“单”是指唯一性,“例”是指实例化对象,也就是使某个类的一个对象成为系统中的唯一实例。

单例是指静态分配的实例,而iphone sdk 中全是这种实例,例如[UIApplication sharedApplication] 返回一个指向代表应用程序的单例对象的指针。[UIDevice currentDevice] 获取一个代表所有使用硬件平台的对象。
将类方法与单例相结合,便可以在程序的任何地方访问静态实例,而无需使用指向对象的指针或保存它的实例变量。

  • 这样有什么优点呢?

1.在内存中只有一个对象,节省内存空间。
2.避免频繁的创建销毁对象,可以提高性能。
3.避免对共享资源的多重占用。
4.可以全局访问。


  • 实例化的类一般都是有自己的内部数据有自己的生存周期,内部一系列的复杂的逻辑或数据处理.因此各个实例化后的对象之间互不相干,独立运行.
  • 至于静态方法一般都是进行一系列比较单一的数据处理,这些数据往往都是由外部传过来,进行相应的操作后返回.他不需要维护比较复杂的生命周期,方法调用完后就跟他没什么关系了.

你可能感兴趣的:(懒加载与单例的区别)