多处的开发者都给使用者了一个方便,给一些东西设置了一个生命周期的东西。本次学习主要对安卓中程序的生命周期进行讲解。
充分了解安卓生命周期,记住生命周期的优先级,为后续的开发打基础。

Android程序生命周期

1、程序的生命周期

  • 程序的生命周期是在Android系统中进程从启动到终止的所有阶段,也就是Android程序启动到停止的全过程
  • 程序的生命周期由Android系统进行调度和控制的

2、Android系统中的进程优先级由高到低

3、Android各进程介绍

(1)前台进程

a)、前台进程是Android系统中最重要的进程,是与用户正在交互的进程,包含以下四种情况
进程中的Activity正在与用户进行交互
- 进程服务被Activity调用,而且这个Activity正在与用户进行交互
- 进程服务正在执行声明周期中的回调函数,如onCreate()、onStart()或onDestroy()
- 进程的BroadcastReceiver正在执行onReceive()函数
b)、Android系统在多个前台进程同时运行时,可能会出现资源不足的情况,此时会清除部分前台进程,保证主要的用户界面能够及时响应

(2)可见进程
  • 可见进程指部分程序界面能够被用户看见,却不在前台与用户交互,不响应界面事件的进程
  • 如果一个进程包含服务,且这个服务正在被用户可见的Activity调用,此进程同样被视为可见进程
  • Android系统一般存在少量的可见进程,只有在特殊的情况下,Android系统才会为保证前台进程的资源而清除可见进程
(3)服务进程

a)、服务进程是指包含已启动服务的进程
- 没有用户界面
- 在后台长期运行
b)、Android系统除非不能保证前台进程或可视进程所必要的资源,否则不强行清除服务进程

(4)后台进程
  • 后台进程是指不包含任何已经启动的服务,而且没有任何用户可见的Activity的进程
  • Android系统中一般存在数量较多的后台进程,在系统资源紧张时,系统将优先清除用户较长时间没有见到的后台进程
(5)空进程
  • 空进程是不包含任何活跃组件的进程
  • 空进程在系统资源紧张时会被首先清除
  • 但为了提高Android系统应用程序的启动速度,Android系统会将空进程保存在系统内存用,在用户重新启动该程序时,空进程会被重新使用
  • 除了以上的优先级外,以下两方面也决定他们的优先级
  • 进程的优先级取决于所有组件中的优先级最高的部分
  • 进程的优先级会根据与其他进程的依赖关系而变化

Android安卓——Android程序生命周期相关推荐

  1. android中应用程序生命周期,Android应用程序生命周期中的活动和图标

    面向大众的移动技术,第3部分 为您的Android移动应用程序添加导航样式 安德鲁·格洛弗 2013年7月25日发布 面向大众的移动技术 请期待本系列的后续内容. 请期待本系列的后续内容. 近年来,移 ...

  2. android应用开发(25)---进程和应用程序生命周期

    进程和应用程序生命周期 在大多数情况下,每个Android应用程序都在其自己的Linux进程中运行.当需要运行某些代码时,会为应用程序创建此进程,并且该进程将保持运行状态,直到不再需要它为止,并且 系 ...

  3. Android生命周期帮助类,Android Service类与生命周期详细介绍_Android_脚本之家

    Android  Service类与生命周期 Service是Android四大组件与Activity最相似的组件,都代表可执行的程序,区别在于Service一直在后台运行且没有用户界面. 1.Ser ...

  4. android 英语论文,Android中Activity的生命周期英语论文+译文.doc

    Android中Activity的生命周期英语论文译文 北方民族大学 英文文献翻译 论文题目: Android环境及Activity介绍 院(部)名 称: 计算机科学与工程学院 学 生 姓 名: 陈 ...

  5. libgdx 学习笔记七 libgdx应用程序生命周期

    简介 本章内容描述libGDX 应用程序的结构和怎么根据不同的平台版本使用不同的后台 The Application 做为任意libGDX 工程的主入口点.Application 决定平台的版本和后台 ...

  6. Flutter State生命周期 Flutter Widget生命周期 Flutter 应用程序生命周期

    题记:不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧 在 Flutter应用程序中,生命周期涉及两个,一个是 Widget 的生命周期,一个是应用程序的生命周期,本 ...

  7. 微信小程序显示loading效果,微信小程序节流效果,微信小程序生命周期,微信小程序组件的创建与使用

    一.显示loading效果 文档地址:wx.showLoading(Object object) | 微信开放文档 请求前 显示loading 效果,请求结束后隐藏loading // 在请求模块中 ...

  8. ASP.NET 应用程序生命周期概述

    本主题概述应用程序生命周期,列出重要的生命周期事件,并描述如何编写适合应用程序生命周期的代码.在 ASP.NET 中,若要对 ASP.NET 应用程序进行初始化并使它处理请求,必须执行一些处理步骤.此 ...

  9. IIS 5.0 和 6.0 的 ASP.NET 应用程序生命周期

    本文内容 应用程序生命周期概述 生命周期事件和 Global.asax 文件 编译生命周期 HTTP 模块 本文概述 VS 2008 ASP.NET 应用程序的生命周期,列出了重要的生命周期事件,并描 ...

最新文章

  1. SAP MM 103 + 105 移动类型组合初探
  2. 原生js--兼容获取窗口滚动条位置和窗口大小的方法
  3. mac安装brew和zsh
  4. java dao service实例_浅谈Action+Service +Dao 功能
  5. k8s使用helm打包chart并上传到腾讯云TencentHub
  6. CSS布局(二) 盒子模型属性
  7. MySQL数据库篇之索引原理与慢查询优化之一
  8. linux umask命令
  9. innodb下的mvcc_Mysql事务隔离以及MVCC实现原理
  10. 事件mousseenter和mouseover的区别
  11. photoshop 插件_所有设计师必须拥有的20个免费和有用的Photoshop插件
  12. Mysql中select into from用法
  13. 解决Postman报错Could not send request
  14. Canonical标签的作用及使用方法
  15. 02-CSS基础与进阶-day7_2018-09-07-20-25-28
  16. 普渡大学计算机图形,普渡大学计算机图形学技术研究生语言及申请要求-费用-课程设置...
  17. 中M2018春C入门和进阶练习集
  18. 【2019蓝桥杯国赛B组】排列数
  19. Python数据分析基础之Excel文件(6)
  20. VUI设计--一些自己认为的原则

热门文章

  1. 汉语属于哪个语系_汉语,日语,韩语分别属于什么语系?
  2. D. Serval and Rooted Tree
  3. 如何选择一台适合个人使用的云服务器?
  4. 什么是做空 什么是做空期权波动率?
  5. 理解 以太坊Serenity - 第一部分: 深度抽象
  6. Google 人工智能基本原则
  7. 站在巨人肩膀上优雅地分蛋糕
  8. 【机器学习】泛化误差上界
  9. 序列、列表、列表的方法以及遍历序列
  10. [18调剂]天津大学软件学院软件工程(专业学位)全日制及非全日制研究生接收院内校内校外调剂...