我们可以通过定义组件初始化器完成组件的初始化,那么如何定义组件初始化器呢?Android官方为我们提供了Initializer<T>
接口,通过实现接口并实现接口中的两个方法就可以实现组件初始化器的定义了。
我们来看下这两个方法:
-
create()
: 包含了初始化组件,并且返回T的实例的所有必要操作; -
dependencies()
: 此方法返回一个初始化程序依赖的其他Initializer对象的列表。可以使用此方法来控制应用程序启动时初始化的顺序。
在没有使用App Startup的时候,如何保证
content providers
的初始化顺序呢?其实很简单,在配置清单中将先启动的content provider
的<meta-data>
标签放在前面即可。
下面我们来看下如何进行初始化。
通过App Startup来运行依赖项的初始化有两种方式:
-
自动初始化(
automatic initialization
) -
手动初始化(
manually initialization
)
无论是自动初始化还是手动初始化都需要在app或者library中的build.gradle
文件中添加如下依赖: