ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 11740|回复: 3
上一主题 下一主题
[入门学习]

科普:Android的多任务机制

[复制链接]
跳转到指定楼层
楼主
发表于 2014-6-10 21:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 | 来自湖北
想当年,清内存的习惯由来已久。在Android还没出生,我们使用 Windows 时,总巴不得把所有没有用到的进程关掉,这样才不会“占内存”,不会“占 CPU ”,电脑才不会“卡”。(大部分的“安全软件”就是靠帮用户在Windows上清内存,清垃圾而扬名)这算是清内存的历史原因。然而Android跟Windows 相比,是完全不同的内存管理机制…(PS :Android基于Linux的内核,继承并改进了Linux的内存管理机制。)
Android的内存管理机制:
有多少内存就用多少,空闲内存全部当缓存。也就是,当一个进程停止活动,Windows 会把它从内存中清除,但Android会把进程保留在内存里,这样下次启动时就会非常快,因为省去了再次从储存设备读取的时间,只有当内存不足以启动一个新进程时,Android才会清除某些驻留在内存中停止活动的进程。
每个进程以Java虚拟机独立存在,互不干扰。确保Android的稳定性,正常情况下即使单个进程崩溃,整个系统也不会崩溃,也永远没有内存不足的提示出现。
以上,可以解释Android剩余内存总是很少的原因。“但是,进程在后台运行会耗电耗流量的啊?”这个继续解释……
Android的多任务机制:
当进程被切换到后台时,系统暂停进程。不消耗cpu资源,只在内存保留运行状态,并根据应用本身设置优先级。
七个优先级:
- 前台进程。顾名思义,你当前屏幕正在显示的进程。
- 可见进程。随时需要待命的进程,例如随时需要召唤出来的输入法。
- 主要服务。系统的必须服务,例如电话。
- 次要服务。与系统关系密切的服务,例如Gmail的邮件推送服务。
- 后台进程。同样顾名思义,就是刚刚被你切换到后台的进程。
- 内容供应节点。没有应用实体,仅提供内容供别的应用去用的,比如日历供应节点,邮件供应节点等。
- 空进程。没有任何东西在运行的进程,有些应用在退出后,依然会在进程中驻留一个空进程,这样的作用是提高该应用下次的启动速度或记录一些历史信息。
结论
综上,正常的用户应用在退出之后要不就成为后台进程,要不就成为空进程。这些进程已经暂停了运行,不占用 CPU 资源和电量。在内存不足,用户需要打开另外的应用时,就会自动清除掉,所以完全不需要清理内存。相反有时清理了内存之后系统反而需要用大量的电量和 CPU 去重启必要的进程。
可是为什么有些应用在关掉了之后仍然会耗费电量和流量呢?唯一的答案是,这是一个不安分的应用。应用作者在写应用的时候就为应用申请了各种各样的主要服务和次要服务,导致用户退出后仍然继续运行。


上一篇:为什么安装了电信机顶盒后,电视机的音量很小了
下一篇:【原创】智能机顶盒闪存科普-eMMC和NAND闪存的区别
沙发
发表于 2014-6-26 23:13 | 只看该作者 | 来自湖北
支持,赞一个
回复 支持 反对

使用道具 举报

板凳
发表于 2014-8-7 11:30 | 只看该作者 | 来自山东
学习了!!!
回复 支持 反对

使用道具 举报

地板
发表于 2014-11-24 14:50 | 只看该作者 | 来自江西
很给力,ZNDS有你更精彩!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2025-4-27 21:28 , Processed in 0.066699 second(s), 12 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2025 ZNDS.Com

快速回复 返回顶部 返回列表