android中activity的生命周期
来源:互联网 发布:vs2017 windows.h 编辑:程序博客网 时间:2024/04/19 16:30
一:Activity生命周期图
二:运行中的应用程序分为五大类
前景模式: foreground process -是当前显示于手机屏幕上的应用程序画面,被定义为前景模式的进程,其中由onCreate()、onStart() 、onResume() 函数调用的Activity都会变成foreground process正在运行的Activity。
可见模式: visible process - 最常发生的情况是当应用程序弹出对话框要与用户交互时,原应用程序就会变成透明(不可见)的,而对话窗口就会变成前景。当对话窗口退出后,原应用程序马上就又变回原前景模式了。在Activity窗口画面变为透明时,就会由onPause()函数掌控进入暂停状态。当前景进程退出时,该Activity就会再度被拉到前景模式,由onResume() 函数唤醒。
背景模式: background process -
是在Activity窗口画面被其他Activity完全盖掉,窗口画面已经完全看不见时,则会进入onStop()停止状态。
这种情况通常发生在两个不同的应用程序开启时,后开启的应用程序会覆盖掉原应用程序。
此时对background process Activity的处理有两种选择:一是直接被onDestroy()退出,该程序将完全关闭,无法再使用任何返回键回到该程序;另一个处理方式是当其他Activity需要内存时,这个background process会先被清除掉,释放出内存。
如果使用者再度浏览刚刚被清除掉的background process,则Android系统会自动再运行onCreate()重新启动该Activity,所以当系统需要内存时,就会暂时将背景进程清除,让它变成empty process(空白模式) , 所以空白进程最重要的目的就是暂时释放出内存,直到使用者再度唤醒该empty process Activity时,才会将空白进程变成前景进程。
空白模式: empty process -
服务模式: service process -
是由startService()所产生的,虽然服务进程有点类似背景进程在背景状态运行,但是它的运行等级和前景进程几乎一样高。
服务模式进程是持续运行的,虽然使用者看不到任何运行画面,Android系统不会自动关闭此类的服务进程,除非使用者自行关闭。这部分内容可在Service详解里面再讨论。
除了最后一个是service的事情。其余都与Activity相关
Android的整个生命周期是从第一次调用OnCreate(Bundle)到最后调用OnDestroy()。一个Activity在OnCreate()中建立所有的状态,在OnDestroy()中释放其所有的状态。
例如:一个运行在后台的进程去下载数据,那么它将在OnCreate()中被建立,从OnDestroy()中被销毁。
一个Activity可以从视觉上被看到发生在OnStart()和OnStop()之间,即使它并不是在Activity栈的栈顶,并且用户可能仅是只能看到他。
foreground lifetime是从OnResume()到OnPause()之间。此时该Activity位于栈顶。
Activity的所有的生命周期在如下的函数里定义:
public class Activity extends ApplicationContext{
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onREsume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
- 【生命周期】Android中Activity的生命周期
- Android中Activity的生命周期
- Android中Activity的生命周期
- Android中Activity的生命周期
- Android 中Activity的生命周期
- Android中Activity的生命周期
- Android中Activity的生命周期
- Android中Activity的生命周期
- Android中Activity的生命周期
- Android中Activity的生命周期
- android 中activity的生命周期
- android中activity的生命周期
- Android中Activity的生命周期
- android中activity的生命周期
- Android中Activity的生命周期
- Android中Activity的生命周期
- android中activity的生命周期
- android中Activity的生命周期
- TCP/IP学习基础知识
- 经典题目——字符串全排序
- 用intellij idea 11创建一个Java Web项目
- RAM芯片端改造
- android bitmap compress(图片压缩)
- android中activity的生命周期
- Java定时任务实现
- 一个Linux下C线程池的实现
- iPhone开发之在MkMapView中在指定位置添加大头针
- Jquery Mobile的页面刷新问题
- 2路插入排序-插入排序的改进
- Java反射机制深入研究
- js的输入框验证
- 什么才是青春