不做强迫症——Android多任务机制科普

发布时间:2014-06-11 阅读量:686 来源: 发布人:

【导读】想当年,清内存的习惯由来已久。在 Android 还没出生,我们使用 Windows 时,总巴不得把所有没有用到的进程关掉,这样才不会“占内存”,不会“占 CPU ”,电脑才不会“卡”。然而 Android 跟 Windows 相比,是完全不同的内存管理机制。

背景:

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

1 

Android 的内存管理机制:

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

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

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

Android 的多任务机制:

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

七个优先级:

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

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

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

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

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

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

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

结论

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

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

相关资讯
低成本玩转Bode分析!共模扼流圈让普通示波器秒变网络分析仪神器

在电子工程领域,频率响应分析(Bode分析)一直是电路设计和调试的重要工具。然而,专业网络分析仪的高昂价格让许多人望而却步,一个令人惊喜的解决方案——共模扼流圈与示波器的黄金组合,可以极低成本实现专业级Bode分析。通过巧妙利用共模扼流圈的独特特性,配合普通示波器的基本功能,即使是预算有限的爱好者也能获得准确的频率响应曲线。

高速USB接口PCB设计指南:从2.0到3.0的关键技术突破

在现代电子设备中,USB接口已成为数据传输和电力供应的标准配置。一个优秀的USB接口PCB设计不仅能确保信号完整性,还能最大限度地发挥接口的理论传输速度

国产半导体重大突破!攻克28nm以下e-Flash技术填补国内空白

8月21日,中国半导体行业迎来里程碑式进展——领开半导体成功研发并量产28nm以下嵌入式闪存(e-Flash)技术,一举打破国外厂商在该领域的长期垄断。这一突破不仅填补了国内高端存储芯片的技术空白,更为国产MCU、汽车电子及AIoT设备的自主可控提供了关键支撑。

特朗普政府芯片入股计划引争议,全球半导体格局或生变!

近日,有外媒报道称,美国特朗普政府正考虑以“国家安全”为由,强行入股包括英特尔在内的三大芯片巨头,以加强对半导体产业的控制。这一消息迅速引发行业震动,外界担忧此举可能重塑全球芯片产业格局,并对供应链产生深远影响。

第106届中国电子展:构建产业新生态,打造全球创新枢纽

​在全球科技竞争格局深刻重构的背景下,中国电子产业正迎来国产替代与自主创新的历史性机遇。第106届中国电子展紧扣《"十四五"规划》制造强国战略,聚焦基础电子元器件、集成电路等"卡脖子"领域,集中展示从材料、设备到应用的国产化突破成果。