Activity的4种启动模式:
在mainfest.xml对应的activity节点中的android:launchMode属性中设置
1.标准模式:不用设置,默认的设置。
2.singleTop:如果该activity已经在栈顶了,就不会再启动该activity的实例
3.singleTask:如果该activity没有启动过,会启动并跳转至该activity,即该activity出现在栈顶,如果该activity已经启动过,但不在栈顶,那么再次启动时,会返回至该activity,即把该activity上方的所有activity全部销毁
*在任务栈中,永远只有一个该activity的实例
4.singleInstance:该activity启动时,会在一个新的任务栈中启动,并且只会启动一次,以后再次启动该activity时,其实只是把该activity所在的任务栈移动至前台。
*非单例模式的activity,如果在10个应用中启动,那么就会有10个实例,单例模式的activity,内存中永远只有一个,10个应用启动单例模式的activity,都只是把该activity所在的任务栈移动至前台。
Activity的横竖屏:
1.代码中设置:setRequestOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//横屏 landscape:竖屏
2.mainfest.xml中设置:android:screenOrientation="landscape"//竖屏
Activity屏幕发生改变时的生命周期变化:
1.在mainfest.xml文件的对应的activity节点中的android:configChanges=""属性中配置属性值可以指定屏幕发生改变时不再重新创建新的生命周期。orientation:屏幕切换时不创建新的生命周期;keyboardHidden:调用软键盘时不创建新的生命周期;screenSize:屏幕大小发生改变时不创建新的生命周期;
原文:http://www.cnblogs.com/myzzx/p/5061329.html