Android的四大组件——Activity
来源:互联网 发布:企业java开发工具 编辑:程序博客网 时间:2024/05/22 06:39
Activity是Android应用中负责与用户交互的组件。
生命周期7
1、 一个最简单的完整的Activity生命周期:onCreate -> onStart -> onResume -> onPause -> onStop -> onDestroy;
2、 当另一个Activity启动时:第一个并没有Destroy
第一个Activity onPause()——>第二个Activity onCreate()——>onStart()——>onResume() ——>第一个Activity onStop();
3、 当返回到第一个Activity时:第二个Destroy
第二个Activity onPause() ——> 第一个Activity onRestart()——>onStart()——>onResume() ——>第二个Activity onStop()——>onDestroy()
4、 只有一个Activity时, 有两个按键在影响Activity生命周期
此时如果按下Back键,系统返回到桌面,并依次执行A:onPause -> A:onStop -> A:onDestroy。
此时如果按下Home键(非长按),系统返回到桌面,并依次执行A:onPause -> A:onStop。由此可见,Back键和Home键主要区别在于是否会执行onDestroy。
5、
6、
屏幕旋转时的生命周期
(参考configChanges)
1、 不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,横1竖2(切横屏时会执行一次,切竖屏时会执行两次);
2、 设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次,横、竖1;
3、 设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
四种启动模式
1、在android里,有4种activity的启动模式,(是否位于栈顶新建,是否调用新建)分别为:
·standard: 标准模式,一调用startActivity()方法就会产生一个新的实例。
·singleTop: 如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。
·singleTask: 会在一个新的task中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。
·singleInstance: 这个跟singleTask基本上是一样,只有一个区别:在这个模式下的Activity实例所处的task中,只能有这个activity实例,不能有其他的实例。
这些启动模式可以在功能清单文件AndroidManifest.xml中进行设置,中的launchMode属性。
2、是否允许多个实例(参考启动模式)
“standard”和”singleTop”可以被实例化多次,并且是可以存在于不同的task中;这种实例化时一个task可以包括一个activity的多个实例;
“singleTask”和”singleInstance”则限制只生成一个实例,并且是task的根元素。
- Android的四大组件——Activity
- Android四大组件 — Activity
- android四大组件—Activity
- Android四大组件—Activity
- Android四大组件——Activity的生命周期
- Android四大基本组件——Activity
- Android四大组件——Activity
- Android四大组件学习——Activity
- Android四大组件之一——Activity
- Android基础—四大组件之Activity
- 四大组件——Activity
- 四大组件 — Activity活动
- 四大组件 — Activity生命周期
- Android四大组件-Activity
- android四大组件---Activity
- Android四大组件-Activity
- Android 四大组件 @activity
- android四大组件--Activity
- memcache的配置及使用
- 菜鸟学SSH(二)——Struts2国际化手动切换版
- 关于钥匙串中所有证书签名无效的问题解决纪录
- View之Chronometer计时器
- 几道面试题总结
- Android的四大组件——Activity
- Flume详解
- Notepad++远程连接Linux系统
- android radionbutton、checkbox、RatingBar自定义
- LVS+Keepalived实现高可用集群
- eclipse maven 插件的安装和配置
- 机器学习实践中的7种常见错误
- 此证书签发者无效
- oracle常用