Activity的生命周期
来源:互联网 发布:琅琊榜捏脸数据 编辑:程序博客网 时间:2024/06/11 22:33
Activity生命周期图
针对上图,说明一下各个生命周期
onCreate():生命周期的第一个方法,顾名思义表示Activity正在创建,在这个方法中,可以做一些初始化的工作。当在Android Studio中新建一个Activity时,IDE会在onCreate()方法中,自动生成setContentView去加载界面布局资源,可见,在此方法中我们可做一些初始化的工作。onStart():表示Activity正在被启动,这时Activity已经可见了,但还没有出现在前台,还无法与用户交互,即可见不可控状态。onResume():表示Activity可见可控,onStart()和onResume()都表示Activity已经可见,只是onStart的时候Activity还在后台,onResume的时候Activity才显示到前台。onPause():表示Activity正在停止,正常情况下,onStop()方法马上会被调用,此方法中可以做一些存储数据或停止播放等工作,但是不能太耗时,因为这会影响到新的Activity的显示。onStop():表示Activity即将停止,可以做一些回收工作,注意也不能太耗时。onRestart():表示Activity正在重新启动。正常情况下,当前Activity从不可见状态重新变为可见状态时,onRestart()方法会被调用。onDestroy():表示Activity即将销毁,这是Activity生命周期中的最后一个回调方法,在些方法中可以做一些释放资源的操作。
-通过日志输入来分析生命周期过程
public class LifeCycleActivity extends AppCompatActivity { private final String TAG = getClass().getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_life_cycle); Log.i(TAG,"onCreate"); } @Override protected void onStart() { super.onStart(); Log.i(TAG, "onStart"); } @Override protected void onRestart() { super.onRestart(); Log.i(TAG,"onRestart"); } @Override protected void onResume() { super.onResume(); Log.i(TAG, "onResume"); } @Override protected void onPause() { super.onPause(); Log.i(TAG, "onPause"); } @Override protected void onStop() { super.onStop(); Log.i(TAG, "onStop"); } @Override protected void onDestroy() { super.onDestroy(); Log.i(TAG, "onDestroy"); }}
通过启动Activity,可以看到日志打印出的调用过程,依次调用了 onCreate -> onStart -> onResume 方法
接着按home键切换到桌面,查看日志可以看出,依次调用了 onPause -> onStop 方法
当再切换回去的时候,查看日志可以看出,依次调用了 onRestart -> onStart -> onResume 方法
现在点击back键,查看日志可以看到,依次调用了 onPause -> onStop -> onDestroy 方法
0 0
- 什么是Activity?Activity的生命周期!
- Activity及Activity的生命周期
- Activity 的生命周期
- Android activity的生命周期
- Activity的生命周期
- Android:Activity的生命周期
- Activity的生命周期
- Activity的生命周期
- Activity的生命周期
- Activity的生命周期
- Activity的生命周期
- Activity的生命周期
- Android Activity的生命周期
- Android Activity的生命周期
- Activity的生命周期一
- Android Activity的生命周期
- Activity的生命周期
- Android activity的生命周期
- JDBC核心API
- Verilog 编程实验(1)-2输入逻辑门的输入与实现
- HttpHelper代码(C#)
- Python--第4天 一大波金融Library来袭之scipy篇
- 1002,大数求和
- Activity的生命周期
- iOS 画板(实现远程操控、教学)
- VS20xx编译出现无法将obj文件复制到bin下,对路径bin的访问被拒绝的解决办法
- 搜狗输入法安装 ubuntu 14.04.5
- JsonHelper(C#)
- 一个转圈读取中的读取中Dialog
- java中的引用类型概念
- 吞吐率和压力测试
- 数据库信息批量导入到对象(c#)