Android四大组件之Activity Life Cycle
来源:互联网 发布:网络架空地板价格 编辑:程序博客网 时间:2024/05/16 10:59
每创建一个activity就要在清单文件中,添加进去。
创建activity方式:
①写一个类继承自activity
主启动项:
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER" />
</intent-filter>
Activity栈:
切换屏幕时保存数据的两种办法:
①在配置文件中给activity添加该属性android:configChanges="orientation|keyboardHidden|screenSize"//不让重新执行生命周期
②如果需要屏幕切换,该怎么处理布局文件:
在res下创建layout-land文件夹。
在里面创建对应的横屏布局文件(布局文件名必须一模一样。)
Activtiy跳转执行流程:
A:onPause---B:onCreate---B:onStart---B:onResume ----A:onStop
Activity跳转;
两种方式:
①Intent intent = new Intent(当前activity对象,目标activity镜像);
startActivity(intent);
②startActivityForResult
onCreate:activity第一次创建时调用,只调用一次,除非activity再次启动,即执行了onDestroy或者程序进程被kill,onCreate表明一次activity生命周期的开始。onDestroy表明一次activity生命周期结束。onCreate执行完后总是执行的是onStart方法:Always followed by onStart().。
onStart:
onResume:初始化一些因突发问题,存储的数据,执行完该方法当前activity就会位于栈顶。
onPause:不管生命周期怎么变化,都执行,在该方法中可以做数据备份,防止突发情况造成用户不良体验。
onSaveInstanceState:如果在该方法中做了操作,则会保存数据
onStop():当上一个activity被压入栈中或finsh()时,会执行该方法。例如:电话,跳转,压栈
onDestroy:生命周期结束,或者栈中只有一个activity时,按退出(finsh())或者返回。将会执行.可以做一些资源回收,并且执行完该方法activity就会从栈中移除。
总结:
①一个完整activity的生命周期至少执行一次onCreate()→onStart()→onResume()→运行中→onPause()→onStop()→onDestroy
②一次activity生命周期onCreate()方法和onDestroy()方法只执行一次。
③界面跳转时生命周期变化:A跳转到B
跳转后上个activity没有被finsh(),即将activity压入activity栈中:
A:onPause()→B:onCreate()→B:onStart()→B:onResume()→A:onStop()
跳转后上个activity没有被finsh():
A:onPause()→B:onCreate()→B:onStart()→B:onResume()→A:onStop()→A:onDestroy()
④横竖屏切换时生命周期变换:同一个activity
onPause()→ onStop()→onDestroy()→ onCreate()→onStart()→onResume()
注:屏幕切换其实就是另一个activity生命周期的开始。
⑤生命周期延长后必须执行的方法:
onResume():不管生命周期怎么变化,都执行,在该方法中可以做备份数据填充,改善用户体验。
At this point the activity is at the top of the activitystack, with user input going to it.
onPause():不管生命周期怎么变化,都执行,在该方法中可以做数据备份,防止突发情况造成用户不良体验。
⑥如果重写了onSaveInstanceState()
onPause()→onSaveInstanceState()→ onStop()
- Android四大组件之Activity Life Cycle
- Android Activity life Cycle
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- android四大组件之 Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android 四大组件之Activity
- android 四大组件之activity
- 字母或数字全排列问题
- Tablayout简单属性及使用
- 虚拟文件系统proc
- ListView与RadioButton的结合单选
- 【线性规划与网络流24题 5】圆桌问题
- Android四大组件之Activity Life Cycle
- 交换机、路由器、网关的概念,并知道各自的用途
- JS 上下翻页模板
- [docker]privileged参数
- 136. Single Number
- session共享之nginx+tomcat+memcache
- Access denied for user 'root'@'localhost' (using password: YES) 问题解决
- JavaScript+CSS+HTML实现锅打灰太狼小游戏
- 网易2017校园招聘编程题——分苹果