前言

很多人在开发中使用了大量的第三方的库,或者自己封装的库,很多库都是需要在Application里面配置的,如果配置过多,导致Application过于臃肿,代码不好维护,可读性比较差。下面是我写的一个简单的库,帮你快速解耦Application,让你的Application显得更简洁,更好维护。

使用场景: Application里面配置的过多的时候,可以使用这个库。

注意事项:

  • 1.目前只适用于普通开发,组件化插件化没做兼容处理。
  • 2.线程切换也没做考虑,因为一般的第三方库的使用基本都是在主线程,所以没做线程切换,后续有时间会慢慢完善的。
  • 3.进程有关的也没做处理,因为目前用到的三方库没有这方面的需求,所以没考虑这一块。
1.首先来一张调用的图

如下,是不是很简单:

一行代码快速解耦Application逻辑,让Application更简洁好维护

2.下面看一下ApplicationHelper这个类做了什么事情:

这是一个单例的类,调用init方法传入上下文,然后调用init开头的方法,比如initNetWork()就表示初始化网络操作的一些逻辑。

一行代码快速解耦Application逻辑,让Application更简洁好维护

3.再看看ApplicationHelper这个类

ApplicationHelper实现了IInitMethods接口,这个接口主要用来规范有哪些逻辑要处理,它是初始化的所有方法的顶层接口,用于规范有哪些逻辑需要做,比如网络库,图片库等。

一行代码快速解耦Application逻辑,让Application更简洁好维护

4.ApplicationHelper类调用了InitWrapperImpl这个类

ApplicationHelper通过InitWrapperImpl.getInstance()返回一个实例对象,然后调用了init(mContext)方法,传入一个上下文,最后调用execute(XX,XX,XX)执行库的初始化的具体操作。

一行代码快速解耦Application逻辑,让Application更简洁好维护

5.InitWrapperImpl这个类里面用到了常量类Contants,主要保存type类型,和库的名字的信息。

一行代码快速解耦Application逻辑,让Application更简洁好维护


6.InitWrapperImpl这个类它是实现了IInitWrapper接口,规范了具体的执行过程公用的一些接口方法。

一行代码快速解耦Application逻辑,让Application更简洁好维护


获取源码请点击此处:

到此,这个库基本就介绍完了,是不是很简单?想要源码的可以下面的链接获取:
ApplicationHelper这个库,轻松实现Application的隔离型框架


在这里也欢迎各位多提意见。感谢大家的支持。

觉得不错的朋友们 点赞 或者 打赏 支持一下吧。

相关文章:

  • 2021-11-18
  • 2021-08-04
  • 2021-07-13
  • 2021-05-29
  • 2021-07-31
  • 2021-09-11
  • 2021-07-10
  • 2021-06-16
猜你喜欢
  • 2021-08-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
相关资源
相似解决方案