Android中对Activity相关知识的总结
来源:互联网 发布:单片机 arm dsp fpga 编辑:程序博客网 时间:2024/06/05 17:12
从事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()。
- Android中对Activity相关知识的总结
- Android Activity相关知识总结
- Activity相关知识总结
- Android中Activity相关知识-1
- Android中Activity的标题设置的知识总结
- 对Java Generic相关知识的总结
- android activity知识总结
- android知识总结--Activity
- Android Activity知识总结
- android 相关知识总结(不断更新中....)
- python中import的相关知识总结
- 理解Android的Activity的task相关知识
- Activity的其它相关知识
- Activity的task相关知识
- 对Android屏幕知识的学习总结
- 【Android】android Activity堆栈相关知识
- Android中activity的生命周期相关~
- Android中编写Service相关的知识
- ubuntu install sogou
- redis在windows上的安装
- spark环境搭建(独立集群模式)
- Mysql学习第四课01-percona-xtrabackup
- 99. Recover Binary Search Tree 将二叉查找树中乱序的两个元素值调整
- Android中对Activity相关知识的总结
- Android 异步消息处理机制:Looper、Handler、Message
- C库中的strstr()函数实现
- AsyncStorage存储key管理小技巧
- Yarn的JVM重用功能——uber
- 二叉树的基本操作
- 如何简单的构建一个Notification(入门的可以看看!!)
- Linux命令之"awk"
- 2016腾讯模拟笔试题