Activity - magician-f/Hyena GitHub Wiki

生命周期

/**
 * Activity从后台重新回到前台时被调用
 */
@Override
protected void onRestart() {
    super.onRestart();
}

/**
 * Activity创建或者从后台重新回到前台时被调用
 * 在屏幕上对用户可见时调用
 */
@Override
protected void onStart() {
    super.onStart();
}

/**
 * Activity创建或者从被覆盖、后台重新回到前台时被调用
 * Activity开始和用户交互的时候调用,这时该Activity是在Activity栈的顶部 获焦的时候
 */
@Override
protected void onResume() {
    super.onResume();
}

/**
 * Activity窗口获得或失去焦点时被调用,在onResume之后或onPause之后
 *
 * @param hasFocus true获得焦点 false失去焦点
 */
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
}

/**
 * 在系统准备去启动或者恢复另一个Activity的时候调用。
 * 我们通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据。这个方法的执行一定要快 不然影响切换页面时间
 */
@Override
protected void onPause() {
    super.onPause();
}

/**
 * 退出当前Activity或者跳转到新Activity时被调用
 * Activity被停止或者Activity变成不可见时调用
 */
@Override
protected void onStop() {
    super.onStop();
}

/**
 * 退出当前Activity时被调用,调用之后Activity就结束了
 * Activity被从内存中移除,一般发生在执行finish方法时或者Android回收内存的时候
 */
@Override
protected void onDestroy() {
    super.onDestroy();
}

/**
 * 例如:屏幕方向改变时,Activity被销毁再重建;当前Activity处于后台,系统资源紧张将其杀死.
 * 另外,当跳转到其他Activity或者按Home键回到主屏时该方法也会被调用,系统是为了保存当前View组件的状态.
 * 在onPause()之后调用
 */
@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
}

/**
 * Activity被系统杀死后再重建时被调用.
 * 例如:屏幕方向改变时,Activity被销毁再重建;当前Activity处于后台,系统资源紧张将其杀死,用户又启动该Activity.
 * 这两种情况下onRestoreInstanceState都会被调用,在onStart()之后.
 */
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
}

/**
 * 当ActivityA的LaunchMode为SingleInstance,SingleTask时,如果已经ActivityA已经在堆栈中,那么此时会调用onNewIntent()方法
 */
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
}