您的位置:

Android Application生命周期详解

一、应用启动阶段

1、ActivityManager启动

2、Application启动


public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //应用程序启动时调用,进行全局变量初始化等操作
    }
}

3、开启启动页Activity


public class SplashActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //在这里实现启动页Activity的布局和逻辑
        //可以在这里进行耗时操作,例如APP的初始化配置
    }
}

二、Activity生命周期

1、onCreate()

Activity创建时调用


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

2、onStart()

Activity由不可见变为可见时调用


@Override
protected void onStart() {
    super.onStart();
}

3、onResume()

Activity开始活动时调用,用户可以开始交互


@Override
protected void onResume() {
    super.onResume();
}

4、onPause()

Activity失去前台时调用,可以保存当前状态


@Override
protected void onPause() {
    super.onPause();
}

5、onStop()

Activity完全不可见时调用


@Override
protected void onStop() {
    super.onStop();
}

6、onDestroy()

Activity被销毁时调用


@Override
protected void onDestroy() {
    super.onDestroy();
}

三、Service生命周期

1、onCreate()

Service创建时调用


@Override
public void onCreate() {
    super.onCreate();
}

2、onStartCommand()

Service被启动时调用


@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    return super.onStartCommand(intent, flags, startId);
}

3、onBind()

Service被绑定时调用


@Override
public IBinder onBind(Intent intent) {
    return null;
}

4、onUnbind()

Service解绑时调用


@Override
public boolean onUnbind(Intent intent) {
    return super.onUnbind(intent);
}

5、onDestroy()

Service被销毁时调用


@Override
public void onDestroy() {
    super.onDestroy();
}

四、BroadcastReceiver生命周期

1、onReceive()

BroadcastReceiver接收到广播时调用


@Override
public void onReceive(Context context, Intent intent) {
}

五、Application生命周期

1、onCreate()

Application创建时调用


public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //应用程序启动时调用,进行全局变量初始化等操作
    }
}

2、onTerminate()

Application终止时调用


public class MyApplication extends Application {
    @Override
    public void onTerminate() {
        super.onTerminate();
    }
}

六、总结

以上就是Android Application生命周期的详细解析,每一个部分都涵盖了相应的回调方法和具体实现。