人来到这个世界会经历过生老病死,应用程序也像人的生命一样存在着生命周期。今天我们将对这个生命周期进行探讨。
我们知道Android系统中应用程序都是各自为一个独立的进程在系统中进行运行,但资源不够用的时候,会按照其对应的优先级顺序释放内存供将运行的进程使用。进程的优先级顺序由高到低:前台进程、可见进程、服务进程、后台进程、空进程。
先讲讲应用程序在系统中运行的情况:应用程序是将运行的程序用户栈的新形势进程存储,并将栈顶的应用程序进行运行的。若我们退回上一不的时候,栈的指针则往下移动一个原来栈顶的应用程序销毁。那么应用程序有那些状态呢?应用程序在运行的时候存在以下几个状态:执行、停止、结束和销毁。每个状态之前进行转换的时候,会触发相应的动作。我们将用一个图说明其转换时相应的动作。
应用程序在进行状态的装换的时候,会调用回调方法。我们以后再写代码的时候,大部分都是些这个重写方法,因此我们必须知道他们回调方法之前的逻辑顺序,才能保障我们的代码质量能高效、准确的运行。应用程序中包括以下回调方法:onCreate(),onStart(),onRestart(),onResume(),onPause(),onStop()和onDestroy()。Activity是继承ApplicationContext的。一张图可以说明此关系(这里的箭头方向指的是方法调用的顺序逻辑):