安卓突击:Activity的基础知识
2015-08-20 11:27
232 查看
1,Activity的生命周期必须调用的三个方法,onCreate() --> onStart() --> onResume(),用 AAA 表示( 1 )父 Activity 启动子 Activity,子 Actvity 退出,父 Activity 调用顺序如下AAA --> onFreeze() --> onPause() --> onStop() --> onRestart() --> onStart(),onResume() …( 2)用户点击 Home, Actvity 调用顺序如下AAA --> onFreeze() --> onPause() --> onStop() -- Maybe --> onDestroy() – Maybe( 3)调用 finish(), Activity 调用顺序如下AAA --> onPause() --> onStop() --> onDestroy()( 4)在 Activity 上显示 dialog, Activity 调用顺序如下AAA( 5)在父 Activity 上显示透明的或非全屏的 activity, Activity 调用顺序如下AAA --> onFreeze() --> onPause()( 6)设备进入睡眠状态, Activity 调用顺序如下AAA --> onFreeze() --> onPause()
2,如果后台Activity由于某种原因被系统回收,通过onSaveInstanceState()来保存当前的状态。
3,如何退出 Activity?如何安全退出已调用多个 Activity 的 Application?对于单一 Activity 的应用来说,退出很简单,直接 finish() 即可。也可以用 killProcess() 和 System.exit() 这样的方法。
对于多个Activity来说,可以有如下几个方法:
1)、抛异常强制退出:该方法通过抛异常,使程序 Force Close。验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出 Force Close 的窗口。2)、记录打开的 Activity:每打开一个 Activity,就记录下来。在需要退出时,关闭每一个 Activity 即可。3)、发送特定广播:在需要结束应用时,发送一个特定的广播,每个 Activity 收到广播后,关闭即可。4)、递归退出在打开新的 Activity 时使用 startActivityForResult,然后自己加标志,在 onActivityResult 中处理,递归关闭。除了第一个,都是想办法把每一个 Activity 都结束掉,间接达到目的。但是这样做同样不完美。你会发现,如果自己的应用程序对每一个 Activity 都设置了 nosensor,在两个 Activity 结束的间隙, sensor 可能有效了。
4
来自为知笔记(Wiz)
2,如果后台Activity由于某种原因被系统回收,通过onSaveInstanceState()来保存当前的状态。
3,如何退出 Activity?如何安全退出已调用多个 Activity 的 Application?对于单一 Activity 的应用来说,退出很简单,直接 finish() 即可。也可以用 killProcess() 和 System.exit() 这样的方法。
对于多个Activity来说,可以有如下几个方法:
1)、抛异常强制退出:该方法通过抛异常,使程序 Force Close。验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出 Force Close 的窗口。2)、记录打开的 Activity:每打开一个 Activity,就记录下来。在需要退出时,关闭每一个 Activity 即可。3)、发送特定广播:在需要结束应用时,发送一个特定的广播,每个 Activity 收到广播后,关闭即可。4)、递归退出在打开新的 Activity 时使用 startActivityForResult,然后自己加标志,在 onActivityResult 中处理,递归关闭。除了第一个,都是想办法把每一个 Activity 都结束掉,间接达到目的。但是这样做同样不完美。你会发现,如果自己的应用程序对每一个 Activity 都设置了 nosensor,在两个 Activity 结束的间隙, sensor 可能有效了。
4
来自为知笔记(Wiz)
相关文章推荐
- 忘记mysql密码的解决办法--针对windows系统
- HDFS架构
- (转)Aspone.Cells设置Cell数据格式 Setting Display Formats of Numbers and Dates
- WPF中多线程统计拆箱装箱和泛型的执行效率
- C-Free 5.0注册码
- onactivityresult 不执行
- 9秒学院-技术宅七夕示爱招数“高大上”赶快来看看
- iOS-Core Animation学习-1 position Animation
- 待玩 python游戏
- Android在设置里面添加新功能的方法
- Impala源码解析(1)——概念与架构
- hadoop 学习线路
- Javascript(一)-20-(JS函数_练习2)
- 二分图 KM算法(求二分图带权值的最大匹配)
- CGI
- 成功从时间管理开始
- iOS项目开发实战——制作视图的旋转动画
- Spring-以序列的方式产生主键值(ORACLE)
- CHM文件出现的常见错误及解决办法
- Javascript(一)-18-(JS函数_匿名函数)