您的位置:首页 > 移动开发 > Android开发

浅显易懂的Activity生命周期

2016-07-09 19:08 267 查看
**深入了解activity的生命周期对我们开发android应用有很大的帮助,activity中有很多回调方法,系统会在合适的时候调用合适的方法。什么时候初始化页面,什么时候建立数据库连接,什么时候销毁页面,什么时候关闭数据库连接,这都是有讲究的,如果乱做一通,程序的运行效率会大大降低,其健壮性也会受到很大的影响。**


activity 的生命周期演示图我就不贴了,百度上找一下,很多的。与activity生命周期相关的方法主要有6个,分别是onCreate、onStart、onResume、onPause、onStop、onDestory,下面我们挨个分析,系统在什么情况下会调用这些类

1.onCreate()

activity启动的时候调用该方法,不会多次调用,除非该activity被销毁了

2.onStart()

activity启动的时候调用,该方法可能会被多次调用

3.onResume()

这个方法调用频率比较高,基本上只要activity显示出来,就一定会调用这个方法,不管该activity是重新启动的,还是由后台到前台的一个状态切换,均会调用该方法。很多数据的更新都会在这个方法体内实现

4.onPause()

当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。

5.onStop()

如果被另外一个activity覆盖了,就会调用该方法。或者用户按下Home键或者Back键时候也会调用它。

6.onDestory()

当activity处于后台运行时,系统会判断当前的运行内存是否很紧张,如果很紧张,系统就会将一些后台运行的app关闭掉,执行它们的onDestory()方法。这时候,一个app就完全退出了。这个现象其实是很常见的,比如我们打开一个微信客户端,然后让他后台运行,接着又打开了一个游戏,正在玩游戏的时候,有一个好朋友发来了微信消息,你想看一下对方发过来的是什么,然后就点击了微信app,正常的情况下应该是直接显示出来,但是很不幸,微信app从初始界面重新加载了,其实是因为你在玩游戏的时候手机内存消耗太大,系统为了不让你的游戏shutdown,就shutdown了你的微信。这回懂了吗?

在学习的时候,这六个方法都要弄得清清楚楚的。但是到了开发过程中,你会发现其实用的最多的还是onCreate、onResume、onPause、onDestory方法,onStop和onStart其实用得并不多。

另外,如果将新知识与生活中的小事结合到一起,你会发现,其实学习还是蛮简单的。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息