博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android中activity的生命周期和应用程序的生命周期
阅读量:4674 次
发布时间:2019-06-09

本文共 1019 字,大约阅读时间需要 3 分钟。

这几天在慢慢的巩固android基础方面的知识,对activity的生命周期和appliaction总是有点晕,所以特别做了点思考。

1 首先附一张activity的生命周期图

比较形象的说明了activity启动的时候所调用的方法,但当activity被不同的方式结束时,onStop()和onDestroy()不一定被调用。测试如下

1 正常按back和finish()方法执行顺序相同。生命周期函数被完全调用

2 采用system.exit(0)的方式退出和kill 进程(实际用的可能性不大)的方式和Process.killProcess(Process.myPid())相同,可以看到activity的onpause(),onstop(),ondestry()均没有执行,比较暴力

3 采用startactivity()启动一个新的activity时的生命周期和home退出到桌面时(home桌面也是一个activity),只有 ondestroy()没有被调用。此时处于stoped状态当按back返回时,调用onstart()和onresume()

 那么上述方式退出时,application的生命周期又是怎么样的,自定义了一个application进行测试。重写oncreate()(创建时调用) onConfigurationChanged()(配置文件改变时调用如横竖屏切换)。onlowmemory()(内存不足系统回收时调用) 和onTerminate()(结束时调用)

1 正常按back和finish()方法执行顺序相同。activity生命周期函数被完全调用,application部分调用,说明此类方法退出时,application并没有结束其进程。

2 采用system.exit(0)的方式退出和kill 进程(实际用的可能性不大)的方式和Process.killProcess(Process.myPid())相同,application被杀死但其对应的生命周期方法没有来得及调用onTerminate()

  横竖屏切换时应用的生命周期函数和activity周期函数的执行顺序。

启动过程

横竖屏切换时(crtl+F12) activity被完全消亡从新开始加载

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/treemen/archive/2013/06/05/3118834.html

你可能感兴趣的文章