FB LIKE JACKER

绿色守护——取代你那阻碍生产力的清内存应用

2013 年Apr月 3 日由 发布 | 类别: Android 应用, 锋芒荐 | Tags: , ,

今天带来的绿色守护,有一种至今没有被披露过的特色技术,官方名称『绿色化』,能够使绿色化后的进程完全没有后台,没有耗电(其实就是无法后台自动启动),感觉上,完全就是那些浪费生命的清内存应用的克星。

为什么不需要清内存?

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

前方理论部分高能慎入,不想看的请跳过直接看结论。)

背景:

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

Android 的内存管理机制

  1. 有多少内存就用多少,空闲内存全部当缓存。也就是,当一个进程停止活动,Windows 会把它从内存中清除,但Android会把进程保留在内存里,这样下次启动时就会非常快,因为省去了再次从储存设备读取的时间,只有当内存不足以启动一个新进程时,Android 才会清除某些驻留在内存中停止活动的进程。
  2. 每个进程以 Java 虚拟机独立存在,互不干扰。确保 Android 的稳定性,正常情况下即使单个进程崩溃,整个系统也不会崩溃,也永远没有内存不足的提示出现。

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

 Android 的多任务机制:

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

七个优先级:

  1. 前台进程。顾名思义,你当前屏幕正在显示的进程。
  2. 可见进程。随时需要待命的进程,例如随时需要召唤出来的输入法。
  3. 主要服务。系统的必须服务,例如电话。
  4. 次要服务。与系统关系密切的服务,例如 Gmail 的邮件推送服务。
  5. 后台进程。同样顾名思义,就是刚刚被你切换到后台的进程。
  6. 内容供应节点。没有应用实体,仅提供内容供别的应用去用的,比如日历供应节点,邮件供应节点等。
  7. 空进程。没有任何东西在运行的进程,有些应用在退出后,依然会在进程中驻留一个空进程,这样的作用是提高该应用下次的启动速度或记录一些历史信息.

 

结论

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

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

然而有些时候,应用并不是胡乱地成为后台服务,比如微信,微博等必须有的推送。这时候,又不能卸载掉,但又不想它浪费电量来推送,我只想在需要的时候打开来使用,怎么办?有请主角,绿色守护

界面

绿色守护的界面逻辑很简单,分为主界面和应用排查顾问,符合 Android Design 的界面几乎一打开就能知道有哪些功能。(首次打开应用需要 Root 权限(即 Android 的最高权限),什么,你的手机还没 Root 我只能说,没有男朋友不要用 Android ……另外,系统版本要求3.1以上。2.3.X 的 Android 不堪回首好伐!

Screenshot_2013-03-27-17-10-17 Screenshot_2013-03-27-17-10-57

当然,列表中的文字一开始并不知道是什么意思,可以通过轻触文字(如“暂不自动休眠”)右边的 状图标来得到详细说明。

Screenshot_2013-03-27-17-22-35 Screenshot_2013-03-27-17-22-43

轻触主界面右下角的“+”,进入到应用排查顾问界面,在这里可以选择一个你需要绿色化的应用,支持多选。选好后点右上角的“√”。

Screenshot_2013-03-27-17-28-14 Screenshot_2013-03-27-17-28-55

想让应用重新有后台?在主界面选中任意一个应用,点右下角的三颗点状的按钮,去绿色化。

Screenshot_2013-03-27-18-32-10

不同点与优点

绿色守护并不是跟市面上一些应用同质化的内存管理应用,它跟很多类型的应用都不同。(下面参考自绿色守护官方介绍,有删改)

  • 不同于『钛备份』等工具的『冻结』功能,被『绿色化』的应用不会从应用列表消失,除了没有了后台,其他完全相同。
  • 不同于『App Quarantine』,你可以方便的以往常的方式启动应用,不需要特殊的『应用启动小工具』,不用记得每次运行完后手动冻结(禁用)。
  • 不同于『Autostarts』,你既能享受到它的绝大部分优势,又不必跟复杂晦涩的底层技术打交道,而且最重要的是,在应用运行期间,你不会失去任何重要功能。
  • 不同于那些『XXX 进程杀手/任务管理』,陷入“杀进程-进程自动重启杀进程进程自动重启”的死循环,那样只会无端消耗更多电量。因为所有经过『绿色化』的应用在你没有启动它们的时候,都处于深度的休眠状态。

最后有一个既是缺点的优点,作为一个管理应用,绿色守护本身需要常驻一个后台服务,才能将经过绿色化的应用置于休眠状态。不过作者将它的平均内存优化到仅有2M左右。

一些解释

如果你的目的性很强,比如就是要禁用掉微信的推送,那直接选中微信并打勾就行了。“如果我想揪出那些经常浪费流量的的应用呢?”这也不难,但如果你看过了绿色守护自带的解释也不怎么明白,那么我来再解释一下。

大前提:看上去在不同分类分开的应用,其实都是同一个应用。比如『地图』同时存在于两个分类中,你『绿色化』了其中任何一个,都当成是『绿色化』整个『地图』。

后台运行中:这些就是传统意义上的后台,一般是由你设置而产生的。比如你设置了『Fuubo』的推送,或者是『剪贴板管理+』的后台剪贴板服务。如果你没有设置过,不知道它有什么用,那么一般就是那些偷偷运行的后台服务了。

可能减缓设备响应速度:Android 有个机制可以提供给某些应用在满足某些条件下自动运行,比如『四次元』可以在切换 Wi-Fi 后自动获取通知,这样就不会丢失通知了。但是这样的进程一多,系统就会“卡”了。这部分的应用留下你最需要的就好。

最近运行过:顾名思义,字面意思。真的无法再解释了……只能说,小心那些你并未主动运行却频繁出现于此的应用。

实验性功能(注意正确断句!)

实验性功能是绿色守护作者配合 Xposed 框架而编写的一些功能,鉴于有能力的用户和捐献版的用户应该都能自行使用这些功能,而普通用户又不需要用到这些功能,而且绿色守护本身也带有很详细的说明。这里不作详细介绍。

社工时间

作者是中国人,Oasis Feng,他的微博介绍写着“这里只谈风月。技术话题,请关注我的Twitter”实际上嘛,经过观察之后,也是有很多关于书籍和移动应用的微博的,感兴趣的同学可以去关注下。

另外 Oasis 的博客含金量也非常大,首页第一篇便是《基于HTTP缓存轻松实现客户端应用的离线支持及网络优化

Oasis 还开发了一款支持在下拉通知栏里显示实时流量统计的『Bytes Insight(我一直在用),支持在 Android 4.2 以后系统里的扩展通知栏,让你的流量统计更高逼格。

下载地址

绿色守护:Play Store

Bytes InsightPlay Store

 

« 真的要全套?——13装脱系列
精美的倒计时工具——Holo Countdown »

About Davis.Zerro

Android Design lover,反盗版反伸手党反阻碍生产力的一切,不时写些应用推荐,不时会黑一下党和政府,“墙,终会倒下”。设备:LG LU6200(AOKP 4.2.2),The New iPad(6.1 Jailbreaked).

» has written 4 posts

锋客的朋友们

  • 少数派
  • 煮机网

签订契约成为机油吧!

Buy me a coffee~ ;-)

Buy me a coffee~ ;-)
閃開│讓專業的來 沒辦法│我這個人就是太正直了