安卓开发中的activity是所有app的主体,一个app就是多个不同作用的activity之间的相互交互。其实activity的意思以及使用非常好理解。activity就是一个活动,你想做一件事,就让它去完成对应的任务,它的事做完了就可以让它退休也就是销毁了。因为安卓系统自身做了绝大部分的事情,实际上真正对于我们开发人员来说,需要重写的方法只有onCreate(),onStart()以及onSavedInstance()这几种方法。但是了解一个activity的生命周期以及一些方法还是很有必要的,如下来源于安卓开发官网的一张图,是一个activity的完整生命周期:
如图所示,当系统launch一个app时,它会首先调用该app的main activity,然后依次调用对应的方法,直至进入resumed状态,在此用户执行绝大部分主要操作。
onCreate()方法:相当于activity的入口,当一个新activity被实例化后首先进入该方法,在此初始化一些自定义的变量,设置所需要的布局,以及进行其他的一些操作,在这里也可以启动另一个activity
onStart()方法:该方法紧随onCreate()调用,启动activity,同时使得activity可见
onResume()方法:该方法后使得activity可以接受用户操作
onPause()方法:这可以理解成进程中的挂起状态,这之后进入pasued状态,此时的activity部分可见,也可能完全不可见
onStop()方法:进入此方法后如果用户重新唤起该activity,则系统重新实例化之,如果长时间没有操作,则可能被系统回收,直至最后销毁。在安卓中也可以用finish()来销毁该activity
onDestroy()方法:类似于C++类中的析构函数
利用上一篇开发的Hello world方法,我们可以重写每一个方法,在其中使用一个静态变量,标示每个状态,最后在界面上显示,就可以清楚的看到一个activity的生命周期了
另外对于onSavedInstance()方法,这是用来保存view的状态,使用name-value键值对来保存数据
另外在每次重写父类方法时,安卓官方推荐的习惯是首先调用父类方法,再实现自己的方法
来源:oschina
链接:https://my.oschina.net/u/1254601/blog/157047