第一:前台进程

这样的进程拥有一个在屏幕上显示并且和用户交互的Activity,或者它的一个IntentReciver正在运行。这样的进程等级最高,系统不会主动去销毁它。除非达到万不得已的情况,比如内存非常低,溢出!

第二:可见进程

可在屏幕上显示但不在前台运行,比如一个前台进程以对话框的形式显示在该进程前面。这样的进程往往在屏幕上显示暗色,后台依然有服务运行,处于暂停状态,等待和用户交互。这样的进程也非常重要。除非内存过低。系统才会为满足所有前台进程的运行去销毁可见进程

第三:服务进程

屏幕不可见,但是在后台持续运行,比如音乐播放,后台数据下载等。这样的进程对用户来说也是非常有用的,所以只有当没有足够的内存运行前台进程和可见进程的时候才会去销毁服务进程。

第四:后台进程

屏幕不可见,没有任何服务运行。后台进程是运行一个当前不可见的Activity(这个Activity处于onStop()),对用户体验没有影响。当以上三种进程不满足运行状态时,系统会根据最近使用,最后停止的原则来销毁这样的进程。

第五:空进程

空进程就是这个进程里边没有任何的活动组件,维持这种进程的原因是作为一个缓存当一个组件启动是加快启动速度。系统为了平衡进程缓存和核心缓存会停止这些空进程。

最后一点一个进程的重要性也会因为其他进程的依赖而提高。一个进程不能比他所服务的进程重要性地,比如一个A进程的service绑定一个B进程的Activity。那么A进程的重要性不能比B低,甚至要高。比如后台音乐播放或者下载图片,使用服务来保证这个任务的至少是服务的重要性。所以往往需要长时间运行的最好放在service里边,而不是放到线程里边。

android缓存的后台进程,Android应用程序进程生命周期详解相关推荐

  1. 微信小程序的生命周期详解

    文章目录 一.应用生命周期(App) 二.页面生命周期(page) 三.应用生命周期和页面生命周期 四.路由变化对页面生命周期的影响 一.应用生命周期(App) App()函数用来注册一个小程序.接受 ...

  2. 微信小程序页面生命周期详解

    页面生命周期函数 onLoad--监听页面加载 onReady--监听页面初次渲染完成 onShow--监听页面显示 onHide--监听页面隐藏 onUnload--监听页面卸载 Page({/** ...

  3. Android面试之Activity生命周期详解

    Activity生命周期详解 一 Activity的四种状态: Activity的生命周期中存在四种基本的状态:活动状态(Active/Runing),暂停状态(Paused),停止状态(Stoppe ...

  4. Android Activity 生命周期详解及监听

    前言 系列文章: Android Activity 与View 的互动思考 Android Activity 生命周期详解及监听 Android onSaveInstanceState/onResto ...

  5. Android开发之Activity的生命周期详解

    Android生命周期分为两部分: (1)典型情况下的生命周期. (2)异常情况下的生命周期. 典型情况下的生命周期分析 ​图1 Activity的生命周期图解 ​图2 Activity生命周期的金字 ...

  6. xamarin Android activity生命周期详解

    学Xamarin我为什么要写这样一篇关于Android 的activity生命周期的文章 已经学Xamarin android有一段时间了,现在想起当初Xamarin也走了不少的弯路.当然Xamari ...

  7. Android生命周期详解

    最近在看任玉刚老师的开发艺术探索,记录一下. Android生命周期分为两部分: 一.典型情况下的生命周期. 二.异常情况下的生命周期. 一.典型情况下的生命周期 典型情况下的生命周期指在有用户参与的 ...

  8. android fragment生命周期图,Fragment生命周期详解

    序言 Fragment从Android v3.0版本开始引入的,随着界面布局的复杂化,处理起来也更加的复杂,引入Fragment可以把Activity拆分成多个部分.一个Activity可以同时组合多 ...

  9. 微信小程序开发之生命周期详解?

    小程序分为应用和页面两个部分: 应用的生命周期. 页面的生命周期. 应用的生命周期对页面生命周期的影响. 路由变化对页面生命周期的影响 1.应用的生命周期: 属性 ------------- 类型 - ...

最新文章

  1. 三维几何基础大合集(三维点积叉积、点线面、凸包)《计算几何全家桶(三)》
  2. 从OpenAI看深度学习研究前沿
  3. 成熟的男人思考的东西
  4. Google C++命名规范
  5. RSA公钥格式PKCS#1,PKCS#8互转(微信获取RSA加密公钥)
  6. 第四章 高级数据结构
  7. arthas使用示例:stack输出当前方法被调用的路径
  8. boost::geometry::detail::overlay::get_turn_info用法的测试程序
  9. 【转】python中的对象拷贝
  10. 致远OA任意文件下载漏洞(CNVD-2020-62422)
  11. javaweb学习总结九(xml解析以及调整JVM内存大小)
  12. Django 模板实现(动态)图片/头像展示到页面
  13. jieba库词频统计_用jieba库统计文本词频及云词图的生成
  14. php把服务器文件curl提交,php中使用curl进行文件上传的巨坑
  15. 类与对象(面向对象的编程语言java)
  16. 华为自带时钟天气下载_华为手机锁屏时钟软件
  17. DIY智能小车篇(四):常见问题 BUG汇总
  18. 【信号与系统实验】实验四 傅里叶变换、系统的频域分析
  19. Relay继电器和Swicth开关
  20. ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.

热门文章

  1. TX Text Control文字处理教程(11)使用文本框
  2. Windows常用命令集
  3. OJ1032: 员工薪水
  4. 暑期训练日志----2018.8.24
  5. flask manage port_后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服系统...
  6. Windows高精度微秒级(并发)定时器实现
  7. matlab 嵌入式,面向嵌入式系统的 MATLAB 和 Simulink
  8. torch.nn.Parameter()
  9. 4-1MapReduce概述
  10. python递归实例_python实现递归实例代码