«

Android 面试之横竖屏切换的Activity生命周期

时间:2024-3-2 18:59     作者:韩俊     分类: Android


public class EngineerJspActivity extends Activity {
    private static String Tag = "EngineerJspActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState);
        Log.d(Tag, "onCreate()");
        setContentView(R.layout.activity_main);
    }
    @Override
    protected void onStart() {
        super.onStart();
        Log.d(Tag, "onStart()");
    }
    @Override
    protected void onResume() {
        super.onResume();
        Log.d(Tag, "onResume()");
    }
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        Log.d(Tag, "onSaveInstanceState()");
    }
    @Override
    protected void onPause() {
        super.onPause();
        Log.d(Tag, "onPause()");
    }
    @Override
    protected void onStop() {
        super.onStop();
        Log.d(Tag, "onStop()");
    }
 @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        Log.d(Tag, "onRestoreInstanceState()");
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(Tag, "onDestroy()");
    }

}
②运行Activity(没有切换屏幕的正常情况下启动Activity),得到如下结果:

③切换成横屏时的Activity生命周期:

④换回竖屏的Activity生命周期:

⑤给清单文件加上android:configChanges="orientation"属性,重新启动Activity,没有切换屏幕时(正常启动)的生命周期:

⑥加上android:configChanges="orientation"属性,切换成横屏,Activity的生命周期:

⑦加上android:configChanges="orientation"属性,换回竖屏,Activity的生命周期:

⑧加上android:configChanges="orientation"keyboardHidden"属性,正常启动Activity的生命周期(未切屏幕):

⑨加上android:configChanges="orientation"keyboardHidden"属性,正常启动Activity的生命周期(切成横屏):

⑩加上android:configChanges="orientation"keyboardHidden"属性,正常启动Activity的生命周期(换回竖屏):

执行Home键之后的生命周期:

标签: android

热门推荐