Android应用真正的入口在哪里?

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

模拟器关闭时触发,手机不会触发

原文地址:https://www.cnblogs.com/billshen/p/13269273.html