Android开发之Activity的生命周期(一)
2016-02-29 22:07
471 查看
一直想写一点关于Android方面的博客,但是由于工作特别忙,抽不出时间。最后想想,还是要挤出点时间写一点。这样不仅能够巩固自己的知识,说不定也能帮助有需要的人。博客中可能会存在技术错误,如果有还请大家指出,一起交流学习。
首先从Activity的生命周期讲起。
这是一张关于Activity生命周期的图
正常情况下Activity会经历如下生命周期:
1.onCreate(),表示Activity的创建。在这个方法中我们可以做一些初始化的工作。比如调用setContentView去加载layout布局资源,初始化Activity所需的数据等。
2.onRestart(),重新启动Activity。一般情况下,当当前的Activity从不可见变为可见的时候,该方法会被调用。这中情况一般是用户按Home健回到桌面或者启动了一个新的Activity,这个时候onPause和onStop方法就会被调用。上面的操作完成后用户如果点击桌面应用的图标或者按back键回到之前的Activity,这时候onRestart就会被调用。
3.onStart(),表示开始启动Activity。这个时候Activity就变味可见了,但是前台还是看不到的,还没有办法和用户进行交互。只有当onResume方法被调用的时候,才会真正的出现在前台。
4.onResume(),表示Activity已经变得可见,可以和用户进行交互了。需要注意的是,虽然onStart和onResume虽然都表示Activity变得可见。但是onStart的时候,Activity还在后台,onResume的时候才真正的出现在前台。
5.onPause(),此时的Activity正准备停止,正常情况下,接着就会调用onStop方法。特殊情况下,如果这个时候用户又回到这个Activity,那么onResume就会被调用。这是一种非常极端的情况,很难重现。onPause中不要做太多耗时的操作,因为会影响新的Activity的展现,onPause必须先执行玩,新的Activity的onResume方法才会被执行。
6.onStop(),表示Activity即将停止。可以做一些稍微重量级的回收工作。同样不能做太多耗时的操作。
7.onDestroy(),这是Activity生命周期中最后一个回调,表示Activity即将被销毁。可以做一些回收工作,释放资源等等。
首先从Activity的生命周期讲起。
这是一张关于Activity生命周期的图
正常情况下Activity会经历如下生命周期:
1.onCreate(),表示Activity的创建。在这个方法中我们可以做一些初始化的工作。比如调用setContentView去加载layout布局资源,初始化Activity所需的数据等。
2.onRestart(),重新启动Activity。一般情况下,当当前的Activity从不可见变为可见的时候,该方法会被调用。这中情况一般是用户按Home健回到桌面或者启动了一个新的Activity,这个时候onPause和onStop方法就会被调用。上面的操作完成后用户如果点击桌面应用的图标或者按back键回到之前的Activity,这时候onRestart就会被调用。
3.onStart(),表示开始启动Activity。这个时候Activity就变味可见了,但是前台还是看不到的,还没有办法和用户进行交互。只有当onResume方法被调用的时候,才会真正的出现在前台。
4.onResume(),表示Activity已经变得可见,可以和用户进行交互了。需要注意的是,虽然onStart和onResume虽然都表示Activity变得可见。但是onStart的时候,Activity还在后台,onResume的时候才真正的出现在前台。
5.onPause(),此时的Activity正准备停止,正常情况下,接着就会调用onStop方法。特殊情况下,如果这个时候用户又回到这个Activity,那么onResume就会被调用。这是一种非常极端的情况,很难重现。onPause中不要做太多耗时的操作,因为会影响新的Activity的展现,onPause必须先执行玩,新的Activity的onResume方法才会被执行。
6.onStop(),表示Activity即将停止。可以做一些稍微重量级的回收工作。同样不能做太多耗时的操作。
7.onDestroy(),这是Activity生命周期中最后一个回调,表示Activity即将被销毁。可以做一些回收工作,释放资源等等。
相关文章推荐
- Android init 启动过程分析
- 具有选择功能的对话框(下拉列表对话框)
- N个非常有用的Android程序片段(持续更新)
- 不小心将Android虚拟设备删除了几个属性,如何恢复...
- 【Android 开发教程】动态添加Fragments
- android欢迎界面渐入,渐出效果制作
- android 自定义TopBar的使用
- Android实现上下滑动隐藏/显示工具栏
- Android 集成facebook 第三方登陆
- Android 之 SystemService
- Android Studio ——Android Studio如何集成Genymotion
- android:Notification实现状态栏的通知
- Android之SurfaceView使用总结
- ANDROID 项目 Proguard对android.support.v4.包的配置
- Android工程师入门(一)——这周入大门,挤时间,轻喷
- android对启动模式的深入了解
- Android 自定义View (一)
- Android 之 zygote 与进程创建
- Android 替换应用内so文件避免每次都要重新打包的麻烦
- 理解Android中的线程及线程间通信