Android中横竖屏切换时Activity的生命周期变化
来源:互联网 发布:java接口开发demo下载 编辑:程序博客网 时间:2024/05/17 06:14
这个问题面试的时候有时候会被问到,现在给大家分析一下他切换时具体的生命周期是怎么样的:
正常运行一个Activity,生命周期:onCreate-->onStart-->onResume
1、默认情况下,切换成横屏时生命周期:
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
切换成竖屏时生命周期:
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
2、修改AndroidManifest.xml,Activity添加属性Android:configChanges:"orientation"
切换横屏时生命周期:
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
切换竖屏时生命周期:
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
onConfigurationChanged-->
3、把Activity属性Android:configChanges:"orientation"改成"orientation|keyboardHidden"
切换横屏时生命周期:
onConfigChanged
onConfigurationChanged-->
切换竖屏时生命周期:
onConfigurationChanged-->
onConfigurationChanged-->
总结:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
- Android中横竖屏切换时Activity的生命周期变化
- android横竖屏切换activity生命周期变化
- Android横竖屏切换Activity生命周期变化
- Activity横竖屏切换时生命周期变化
- Activity横竖屏切换时生命周期变化
- Activity横竖屏切换时生命周期变化
- 横竖屏切换时Activity的生命周期变化
- 横竖屏切换时activity生命周期变化的总结
- 横竖屏切换时Activity生命周期的变化
- Android中横竖屏切换时生命周期变化详解
- Android横竖屏切换时生命周期变化
- Android 中Activity生命周期分析:Android中横竖屏切换时的生命周期过程
- Activity横竖屏切换, 生命周期变化
- 横竖屏切换的时候,Activity生命周期的变化
- android 横竖屏切换,activity的生命周期
- Android Activity横竖屏切换的生命周期
- Android Activity 横竖屏切换的生命周期
- 横竖屏切换时候Activity的生命周期变化
- 我们无法创建新的分区
- 在Struts2 中 ValueStack 的实现(一)
- php基础知识笔记
- 一致性哈希算法(consistent hashing) .
- android ViewFlipper 详细用法,附源代码+图片资源
- Android中横竖屏切换时Activity的生命周期变化
- WebViewJavaScriptBridge源码解析(一)
- Java多线程基础-2-简单继承Thread,实现Runnable例子
- L2-003. 月饼
- 对stdin,stdout 和STDOUT_FILENO,STDIN_FILENO的学习
- AT&T 指令简记
- JQuery技巧|教你如何更快的赋值取值
- Arrays.asList方法的漏洞
- 最新最经典的黑客入门教程(必备技能)