前言
做完年终总结,顿感时间飞逝,春去秋来,一转眼已是年底。回想过去的一年,未感技术有所精益,徒有年龄不断增长,内心惶恐万分,坐立不安,遂拾起键盘,写下这篇文章。盼望能和各位仁人志士不断交流学习,共同进步。
Android的小伙伴应该对Application都很熟悉了,也知道在自己的项目中如何使用Application,是不是如下所示?
public class MainApplication extends BaseApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
@Override
public void onTerminate() {
super.onTerminate();
}
}
public abstract class BaseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
initSystem();
}
protected abstract void initSystem();
}
看了以上代码,有些同学就会问了,这个Application到底是干嘛的?在应用层我们也没调用呀,它到底是如何被启动的呢?
抱着这个疑问,本文将站在AMS的角度来分析Application的启动流程,如有错误的地方还请不吝赐教。