Android中对Activity相关知识的总结
2016-09-10 19:47
330 查看
从事Android开发有一年多了,也写了几篇无关痛痒的博客,但觉得写的真的很不好,没啥价值。最近几天看到任大神的Android学习路线指南这篇博客,对我触动很大,决定要去写好每一篇博客,并要坚持写下去,believe me。我自认为Android还算学的蛮不错的,但把初级与中级水平需要掌握的知识一对比,吓的我放了一个很响的屁,竟然差这么远!回想一年前刚接触Android,第一本入门书籍就是郭大神的《第一行代码》最近几天又重新仔细看了一遍,感觉收获颇大,也许是有了一定的基础后,再看这些基础性的知识能够理解的更加深刻些吧。废话就不多说了,直接进入今天的主题。结合我实际开发中的项目来说,我觉得理解Android的生命周期实在是太重要了。还是附图。
1.Activity的生命周期总结
1. onCreate():只做一些初始化控件的工作。
2. onStart():activity由不可见变为可见,但仍运行在后台,不能与用户进行交互。
3. onResume():activity由不可见变为可见,运行在前台,已经能与用户进行交互,我们看到的界面就是在这个阶段。
4. onPause():与onStart()方法是相对应的,activity由可见变为不可见,仍运行在前台(在前台显示),不能与用户进行交互。
5. onStop():与onResume()方法是相对应的,此时的activity完全不可见了,运行在后台(有可能用户还会返回这个界面)。
6. onDestroy():activity被销毁之前调用,通常在这个方法中将所有消耗CPU的资源释放掉。
7. onRestart():活动由停止状态变为运行状态时调用。
8. finish():这个方法原来一直被我忽略掉了。只知道调用,却不知道其真正的意义。我还特意去查了它与onDestroy()的区别,其实finish()方法就是使用当前的activity从返回栈中出栈,然后调用此activity的onPause()–>onStop()–>onDestroy()。重写finish()即可看到这个过程
注意:onStart()与onResume()的区别主要是前台与后台,交互与不可交互;onPause()与onStop()的主要区别在于,如果启动的新活动是一个对话框式的活动,那么onPause()会执行,而onStop()并不会执行。
生命周期已经做了几次试验了,就不写这个过程了,可以总结如下几点:
1.启动一个新活动(A):onCreate()–>onStart()–>onResume()。
2.启动另外一个新活动(B):A活动执行onPause()–>onStop(),B活动执行onCreate()–>onStart()–>onResume();
3.当从活动B按下返回键(假设每个活动都重写了finish()方法):B活动finish()–>onPause()–>onStop()–>onDestroy();A活动onRestart()
–>onStart()–>onResume()。
4.当A活动启动的是一个Dialog(假设,只要是一个对话框就行了):此时A活动只调用了onPause()方法,并不会执行onStop()方法,Dialog消失后只会调用onResume()。
1.Activity的生命周期总结
1. onCreate():只做一些初始化控件的工作。
2. onStart():activity由不可见变为可见,但仍运行在后台,不能与用户进行交互。
3. onResume():activity由不可见变为可见,运行在前台,已经能与用户进行交互,我们看到的界面就是在这个阶段。
4. onPause():与onStart()方法是相对应的,activity由可见变为不可见,仍运行在前台(在前台显示),不能与用户进行交互。
5. onStop():与onResume()方法是相对应的,此时的activity完全不可见了,运行在后台(有可能用户还会返回这个界面)。
6. onDestroy():activity被销毁之前调用,通常在这个方法中将所有消耗CPU的资源释放掉。
7. onRestart():活动由停止状态变为运行状态时调用。
8. finish():这个方法原来一直被我忽略掉了。只知道调用,却不知道其真正的意义。我还特意去查了它与onDestroy()的区别,其实finish()方法就是使用当前的activity从返回栈中出栈,然后调用此activity的onPause()–>onStop()–>onDestroy()。重写finish()即可看到这个过程
注意:onStart()与onResume()的区别主要是前台与后台,交互与不可交互;onPause()与onStop()的主要区别在于,如果启动的新活动是一个对话框式的活动,那么onPause()会执行,而onStop()并不会执行。
生命周期已经做了几次试验了,就不写这个过程了,可以总结如下几点:
1.启动一个新活动(A):onCreate()–>onStart()–>onResume()。
2.启动另外一个新活动(B):A活动执行onPause()–>onStop(),B活动执行onCreate()–>onStart()–>onResume();
3.当从活动B按下返回键(假设每个活动都重写了finish()方法):B活动finish()–>onPause()–>onStop()–>onDestroy();A活动onRestart()
–>onStart()–>onResume()。
4.当A活动启动的是一个Dialog(假设,只要是一个对话框就行了):此时A活动只调用了onPause()方法,并不会执行onStop()方法,Dialog消失后只会调用onResume()。
相关文章推荐
- Android中的Activity相关知识总结
- 【Android】android Activity堆栈相关知识
- Android——SeekBar(拖动条)相关知识总结贴
- android数据库相关知识总结
- Android 串口读取设备相关知识。。总结比较乱,部分转载(未完)
- android上app后台运行的相关知识(一)————android的四大组件:Activity、Service、BroadCast Recevicer、Content provider
- Android——进程通信/ AIDL/Message相关知识总结贴
- Android——程序移植 相关知识总结贴
- Android总结篇系列:Activity Intent Flags及Task相关属性
- Android——界面特效 相关知识总结贴
- Android(一) activity、intent知识和总结
- Android——媒体库 相关知识总结贴
- Android——TabHost(标签容器)相关知识总结贴
- 理解Android的Activity的task相关知识
- android EditText和输入法相关知识总结
- Android——SQLite/数据库 相关知识总结贴
- Android——GridView(网格视图)相关知识总结贴
- Android——BitMap(位图)相关知识总结贴
- android usb相关知识总结
- 【Android】基础总结篇之三:Activity的task相关