为什么不需要清内存?

想当年,清内存的习惯由来已久。在Android还没出生,我们使用Windows时,总巴不得把所有没有用到的进程关掉,这样才不会“占内存”,不会“占CPU”,电脑才不会“卡”。(大部分的“安全软件”就是靠帮用户在Windows上清内存,清垃圾而扬名)这算是清内存的历史原因。然而Android跟Windows相比,是完全不同的内存管理机制…

背景:

Android基于Linux的内核,继承并改进了Linux的内存管理机制。

Android的内存管理机制:

有多少内存就用多少,空闲内存全部当缓存。也就是,当一个进程停止活动,Windows会把它从内存中清除,但Android会把进程保留在内存里,这样下次启动时就会非常快,因为省去了再次从储存设备读取的时间,只有当内存不足以启动一个新进程时,Android才会清除某些驻留在内存中停止活动的进程。

每个进程以Java虚拟机独立存在,互不干扰。确保Android的稳定性,正常情况下即使单个进程崩溃,整个系统也不会崩溃,也永远没有内存不足的提示出现。

以上,可以解释Android剩余内存总是很少的原因。“但是,进程在后台运行会耗电耗流量的啊?”这个继续解释……

Android的多任务机制:

当进程被切换到后台时,系统暂停进程。不消耗cpu资源,只在内存保留运行状态,并根据应用本身设置优先级。

七个优先级:

前台进程。顾名思义,你当前屏幕正在显示的进程。

可见进程。随时需要待命的进程,例如随时需要召唤出来的输入法。

主要服务。系统的必须服务,例如电话。

次要服务。与系统关系密切的服务,例如Gmail的邮件推送服务。

后台进程。同样顾名思义,就是刚刚被你切换到后台的进程。

内容供应节点。没有应用实体,仅提供内容供别的应用去用的,比如日历供应节点,邮件供应节点等。

空进程。没有任何东西在运行的进程,有些应用在退出后,依然会在进程中驻留一个空进程,这样的作用是提高该应用下次的启动速度或记录一些历史信息.

结论

综上,正常的用户应用在退出之后要不就成为后台进程,要不就成为空进程。这些进程已经暂停了运行,不占用CPU资源和电量。在内存不足,用户需要打开另外的应用时,就会自动清除掉,所以完全不需要清理内存。相反有时清理了内存之后系统反而需要用大量的电量和CPU去重启必要的进程。

可是为什么有些应用在关掉了之后仍然会耗费电量和流量呢?唯一的答案是,这是一个不安分的应用。应用作者在写应用的时候就为应用申请了各种各样的主要服务和次要服务,导致用户退出后仍然继续运行。这种现象在一些国产应用上尤其常见。面对这些乱七八糟的没良心的应用和应用作者,果断把它卸载并冲到臭水沟里面去吧,差评!

科普:安卓的多任务机制相关推荐

  1. Android多任务机制的科普(豁然开朗系列)

    为什么不需要清内存? 想当年,清内存的习惯由来已久.在 Android 还没出生,我们使用 Windows 时,总巴不得把所有没有用到的进程关掉,这样才不会"占 内存",不会&qu ...

  2. Android多任务机制科普

    为什么不需要清内存? 想当年,清内存的习惯由来已久.在 Android 还没出生,我们使用 Windows 时,总巴不得把所有没有用到的进程关掉,这样才不会"占内存",不会&quo ...

  3. Android内存管理机制详解,【安卓知识普及贴】之关于安卓内存管理机制的一些介绍和阐述。...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 安卓系统其实不需要极度精简,只是一味的精简并不会给系统带来什么好处反而只有害处,因为许多系统应用跟设置里的选项有关联,删除掉就会在选择关联选项的时候FC, ...

  4. Linux多任务机制

    Linux 下多任务机制的介绍 多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务.Linux就是一个支持多任务的操作系统,比起单任务系统它的功能增强了许多.多任 ...

  5. 安卓 Handler 消息机制(总)

    注:本文参考于某公开课,如有侵权,请联系本人,会立即删除 注:仅用作自我学习记录,未有任何商业用途. 关于handler的由来 开始前的闲言碎语 我们都知道handler是安卓的消息传递机制,使用ha ...

  6. Android面试题之动画+事件处理篇,安卓消息分发机制

    关于整理问题 前言 ================================================================= 提示:秋招在即,计蒙准备在国庆假期结束前整理一套 ...

  7. 安卓开发-Parcel机制

    在java中,有序列化机制.但是在安卓设备上,由于内存有限,所以设计了新的序列化机制. Container for a message (data and object references) tha ...

  8. android 8不能清理内存,安卓手机内存机制揭秘 清理释放RAM对提速无效

    相信很多安卓手机用户都经常使用一键清理或优化大师来对手机RAM进行清理,但是你有没有发现这样手机打开应用的速度反而更慢了.这里就要提到安卓系统的内存运行机制了,下面就来为大家分析一下. 当一个程序放到 ...

  9. 安卓应用签名机制分析

    Android 应用签名是应用打包过程的重要步骤之一,Google 要求所有的应用必须被签名才可以安装到 Android 操作系统中.Android 的签名机制也为开发者识别和更新自己应用提供了方便. ...

最新文章

  1. 洛谷P3953 逛公园
  2. 【原创】从 列表的重复 到 用sum展开二层嵌套列表将子元素合并
  3. word受权限保护无法打开_保护S71500程序的几种方式
  4. pymysql安装_pymysql 模块简单使用
  5. 【报告分享】清华大学126页PPT:2020-2021年元宇宙发展研究报告.pdf(附下载链接)...
  6. 原理优先的重要性_就signal探讨
  7. 《高等代数学》(姚慕生),复习题一,第1题
  8. 下载官方Intel的Windows 10网卡驱动
  9. 科大讯飞 asr 实时语音转写 rtasr 基于Netty编写的websocket client SDK
  10. css绘制卡券优惠券_如何使用css创建一个优惠券
  11. ss 过滤或者指定过滤
  12. 图数据库ONgDB Release v-1.0.0
  13. 【流体机械原理及设计00】
  14. 处理IRP的几种方式
  15. JavaScript 性能优化杀手
  16. SCU2511(单调栈)
  17. 多元多项式除法python_python中多项式的除法
  18. 标准c语言局域网文件传输,winsocket局域网文件传输系统源代码(C语言)+winsocket.doc...
  19. 禾川HCQ ModBUS+485主从站调试
  20. [大数据概念]-- 大数据的技术生态比喻

热门文章

  1. 如何去掉RTP头或RTP拓展头
  2. PPT插入可编辑的表格技巧
  3. 物流快递系统前、后端+Java语言+SpringBoot项目+MVC三层架构+maven+Mysql+Tomcat+可以用于学习SpringBoot项目入门
  4. 安卓调用手机通讯录选择联系人
  5. 在Excel 2007中创建“迷你图”
  6. 【每日英文】2021.10.12
  7. the content must be served over HTTPS 解决方案
  8. lstrip()和rstrip()
  9. value-format=yyyy-MM-dd HH:mm:ss
  10. python多项式回归_Python | 多项式回归的实现