Android系统会为每个程序运行的时候创建唯一的Application类,而且Application类对象的生命周期等于程序的生命周期;
1.重写处理Application类的生命周期事件:
onCreate(): 在应用程序创建的时候被调用,可以得到 Application 的单例,可以实现这个这个方法来创建和实例化变量或共享资源。
onLowMemory(),onTrimMemory()可以在低内存的时候清除缓存或释放资源;
2.传递数据:
在Application类中定义存和取方法:
通过getApplication()方法拿到Application类的对象,通过这个对象可以在一个Activity中存入数据,在另一个activity中读出数据;
app启动流程:
Application构造器方法--->Application中attachBaseContext()--->Application中onCreate()--->Activity构造方法--->onCreate()--->配置主题中背景等属性——>onStart()——>onResume()——>测量布局绘制显示在界面上。
优化应用启动时间:
1.在Application类中的构造器/attachBaseContext/onCreate方法中不要进行耗时操作;
2.如果在Activity类中对sp进行初始化,由于sp的特性会把数据全部读出来并放在内存里,所以大文件的sp初始化可以放在异步线程中处理而不放在主线程中;
3.对于Activity类初始化,因为计算启动时间是到获取第一帧截至,所以尽量减少布局层次性,以及onCreate、onStart、onResume方法中避免做耗时操作;