load与initialize学习比较

相同点:

1.load:

  1.加入运行时系统的类以及分类一定加载此方法,且调用顺序是  主类>分类,并且仅调用一次。
  2.方法的调用会在main方法执行之前
  3.在load方法中进行代码的编写是不安全的,因为编写时可能会依赖其它的类,然而在统一库中,我们不能确定类加载的顺序,因此可能造成没有初始化的类被使用,出现bug。
  4.尽量精简load方法中的代码,因为load方法中会阻塞线程,执行过多的代码会影响性能
  5.load方法中适合运用运行时对方法进行交换

2.initialize

  1.在使用对应类之前由运行期系统调用,且只加载一次,为懒加载
  2.在方法中对实例操作是线程安全的,但是由于执行此方法时会阻塞线程,所以也要尽量精简代码。
  3.如果某类没有实现initialize方法,而其超类实现了,则系统会调用两次initialize方法,这点与load不同。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容