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

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键之后的生命周期:


时间: 2024-12-28 14:51:56

Android 面试之横竖屏切换的Activity生命周期的相关文章

Android Configuration横竖屏切换时Activity生命周期调用

问题:横竖屏切换时Activity的生命周期? 测试环境:华为mate7 package com.virglass.beyond.activity; import android.app.Activity; import android.content.res.Configuration; import android.os.Bundle; import com.virglass.beyond.utils.LogUtil; /** * 系统设置更改 * @author Administrator

android开发之activity横竖屏切换时的生命周期以及横竖屏切换时的资源适配方案

背景:之前有过两篇写activity的博客 android之activity的生命周期详解:详细介绍了activity的整个生命周期.各状态间的转换和返回桌面时保存activity的状态 android之activity中onSaveInstanceState和onRestoreInstanceState的触发时机:介绍了activity中这两个方法的触发时机和作用 本篇博客会牵扯到里面的内容,如果你都有所了解可以直接往下看,如果不了解可以进去回忆下. 问题:在做应用的退出对话框时,发现如果对话

android-----横竖屏切换对Activity生命周期的影响

前面我们分析过Activity的生命周期(见:android-----Activity生命周期),但是在现实应用中我们可能会对手机进行横竖屏切换,那么这样的切换对Activity的生命周期有什么影响呢? 先来看看实例: public class Activity1 extends Activity{ public Button mButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat

android的Activity横竖屏切换时的生命周期

OnCreate()->OnStart->OnResume()->onPause()->onDestory->OnCreate()->OnStart->OnResume() 想要避免这种情况:要在manifest文件里面配置onconfigChanged属性 OnCreate:对象创建完毕,但此时不可见 OnStart: Activity在屏幕可见,但是此时没有焦点 OnResume:Activity在屏幕可见,并且获得焦点 onPause:Activity在屏幕

横竖屏切换时Activity的生命周期

设置横竖屏切换时Activity生命周期的属性设置,在清单文件中的Activity节点中设置.根据具体需求设置: 1.不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次. 2.设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横.竖屏时只会执行一次. 3.设置Activity的android:configChanges=&

android横竖屏切换时Activity的生命周期

1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume--> 4.再

横竖屏切换时候Activity的生命周期变化

横竖屏切换时候Activity的生命周期变化 对于横竖屏幕的切换,Activity的不同生命周期的变化,自己亲自用真机调试测试了一下,总结如下: Activity类: package com.example.screenorientationchange; import android.support.v7.app.ActionBarActivity; import android.content.res.Configuration; import android.os.Bundle; publ

Android学习路线(十四)Activity生命周期——停止和重启(Stopping and Restarting)一个Activity

先占个位置,下次翻译~ :p Properly stopping and restarting your activity is an important process in the activity lifecycle that ensures your users perceive that your app is always alive and doesn't lose their progress. There are a few of key scenarios in which

Android学习路线(十五)Activity生命周期——重新创建(Recreating)一个Activity

先占个位置,下次翻译~ :p There are a few scenarios in which your activity is destroyed due to normal app behavior, such as when the user presses the Back button or your activity signals its own destruction by calling finish(). The system may also destroy your