Android生命周期起始在Application这个实例。
简单使用
默认是没有的,需要自己手动写一个继承Application。
public class LearnApplication extends Application { private static final String TAG = "LearnApplication"; @Override public void onCreate() { super.onCreate(); Log.i(TAG, "onCreate: "); } @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); Log.i(TAG, "attachBaseContext: "); } @Override public void onLowMemory() { super.onLowMemory(); Log.i(TAG, "onLowMemory: "); } @Override public void onConfigurationChanged(@NonNull Configuration newConfig) { super.onConfigurationChanged(newConfig); Log.i(TAG, "onConfigurationChanged: "); } @Override public void onTerminate() { super.onTerminate(); Log.i(TAG, "onTerminate: "); } }
然后在AndroidManifest中配置
常用方法
attachBaseContext
这个方法会将传入的一个Context参数赋值给mBase对象,之后mBase对象就有值了。在onCreate前调用
onCreate
Android程序的主入口,一般进行项目的初始化操作。但耗时操作可能影响程序启动速度。
onLowMemory
内存不足时触发
onConfigurationChanged
屏幕旋转
onTerminate
模拟器关闭时触发,手机不会触发