android Activity生命周期
来源:互联网 发布:淘宝商城首页男装 编辑:程序博客网 时间:2024/05/12 05:55
Android的Activity生命周期如下图描述:
onCreate:Activity启动时调用的第一个方法。在此方法中有一个参数,即Bundle,在首次启动时,这个参数为null,当程序由于内存的原因而被杀掉的时候,如果用户在onSaveInstanceState方法中做了相应的状态保存的操作的话,那个当他再次重新启动的时候,这个Bundle就包含了先前在onSaveInstanceState方法中保存的状态信息,以便Activity回到先前的状态。
onStart:当用户对Activity可见时,此方法调用。
onResume:在此方法中主要用于接收Activity数据和进行一些列的初始化操作。当Activity到达栈顶的时候,即将成为前台进程时,此方法被调用,虽然这一个时刻Activity肯能还不为用户所见,但这里是获取资源的最佳场所。
onPause:当另一个Activity被移至栈顶的时候,当前Activity会收到它已在栈中被下移的通知,此时调用onPause方法。onPause方法是Activity在后台最后一次能够有机会进行清理工作、释放无需资源的地方。Activity的onPause方法必须要尽快的执行完成,因为前台的Activity必须要等到它执行完成之后返回后才能启动。当当前Activity失去焦点只有部分界面可见的时候,也会调用onPause方法。
onStop:当另一个Activity被恢复而完全遮住当前Activity界面的时候,onStop被调用。
onDestroy:Activity生命周期的最后一个方法,当调用finish方法或由于内存原因被系统杀死后会依次调用onPause——>onStop——>onDestroy方法,来结束Activity生命周期。
注意:可以根据isFinishing方法来判断是由于调用了finish方法而结束Activity还是由于内存原因被系统杀死的。
通过调用finish方法结束的Activity会从Activity栈中弹出,而由于系统内存原因结束的Activity不会从栈中弹出,依然会保留在栈中,因为在用户点击返回按钮的时候,它还 是有可能需要在恢复到前页面的。
为了避免Activity对象被销毁,应该尽可能的在onPause方法中释放尽可能多的资源,那么转入后台时被销毁的可能性就越低。
当Activity由于内存原因被销毁的时候,可以通过使用onSaveInstanceState方法将状态信心保存在一个Bundle对象中,当Activity恢复时此Bundle会做为参数传入到onCreate方法中,以便界面回复到之前的状态。
- 【Android】【Activity生命周期】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的生命周期
- Android---Activity生命周期状态
- Android---Activity生命周期状态
- 关于android新浪微博开放平台sdk的fail to receive access token问题
- makefile注释
- JOONE(Java Object-Oriented Network Engine)简单实例源代码
- iOS:Compile error List (一)
- CMake实践笔记
- android Activity生命周期
- VC和STK集成的途径及其在仿真中的应用
- Java序列化的一个问题
- 个人IOS学习笔记(基础)
- Axis1.4实例说明——服务端、客户端
- ubuntu下搭建cocos2dx编程环境-中
- 在微软的八个月里,我学到了这些
- 福州大学第十届校赛 & fzu 2125简单等式
- 修复TortoiseCVS图标显示问题