今天是学习android的第六天,今天学习的还是activity的生命周期,对于activity而言,假如有多个activity,那么activity的顺序是任务栈形式,这个意思就是说,如果第一个activity启动第二个,第二个启动第三个,那么第一个activity就会先压入activity的栈中,然后第二个进去,再接着第三个,当你返回时就会按栈的形式退出,在这个场景中就是3,2,1。这个就是activity的栈,然后为了验证activity的生命周期,用了一个窗口的activity,这种类型的activity其实很简单就可以实现,只需要在AndroidManifest中的对应的activity中加入android:theme="android:style/Theme.Dialog"这样就会形成一个窗口的activity,然后来详细的验证oncreate,ondestory,onpause,onrestart,onresume,onstart,onstop这七个生命周期函数,在上一节课中学习了这七个函数的作用以及调用的时机,但是对于onpause和onstop可能有点不清晰,这两个函数的区别如下:onpause是在调用第二个activity时就会调用,而onstop是在第二个activity的完全遮挡第一个activity时调用,所以这时候窗口的activity就很重要,验证的时候会发现当第二个activity不完全遮挡第一个activity时就只会调用onpause,不会调用第一个activity的onstop,如果完全遮挡,那么两个都会调用,对于生命周期还有一个比较重要的,那就是activity什么时候能被kill掉,我们都知道,手机开发对于资源很在意,因为我们的资源很有限,所以一些不必要的开销就会被系统杀掉,如果一个activity调用了onpause或onstop或ondestory方法后,那么这个activity是可以被杀掉的,当手机资源不够时,系统就会杀掉这些activity,比如你在看小说,然后有人用QQ找你,那么你和他聊完天后再回到看小说的activity时,原来的看小说的activity可能就被杀掉了,那么就会重新创建这个activity。
Android
最新推荐文章于 2024-01-24 16:40:40 发布