您现在的位置是:首页 > 科技网站首页科技

集成IT:为安卓手机清理内存是治病的良方

  • 科技
  • 2021-11-14 16:53:33
  • 来源:
导读 手机电子产品的一些功能和系统操作模式越来越完善,同时也越来越复杂。很多朋友都很困惑。最近,安卓手机清理内存是治病的消息也引起了很多

手机电子产品的一些功能和系统操作模式越来越完善,同时也越来越复杂。很多朋友都很困惑。最近,安卓手机清理内存是治病的消息也引起了很多人的关注。现在大家都想知道,给安卓手机清理内存是治病的良方。所以我就安卓手机清理内存是治病的方法这个问题给大家详细介绍一下。

我知道,对于很多人,尤其是有强迫症的人来说,这是一个必然的命题,但是在我们身边,有很多智能手机用户是这样的:为什么这款手机的3G内存只有600MB是免费的?以前2G内存的手机有800MB的空闲时间。我想一键清除内存,我想定期清除内存.

清洁和加速是移动助手吹嘘的主要功能。

对于我们这些在Windows环境下长大的人来说,“内存不足”是我们心中挥之不去的阴影。即使在今天,即使在安卓系统中,这个阴影依然存在。其实安卓和Windows有完全不同的内存管理机制,Windows上的这个在这里是没有效果的。

安卓可用的内存只是一个没有意义的数字。

在Windows中,可用内存越多越好,但在Android中,你完全不用关心这些数据。下图中,3GB内存的手机可用内存只有81MB。不要说这个制度是垃圾,只能说明你的无知。

一加手机X的内存使用情况(只有81MB内存3GB可用)

在Windows中,只有在需要的时候才会为程序分配内存。一旦程序关闭,分配的内存将作为新的可用内存释放。然而,绝大多数安卓应用都没有退出菜单设计。这些已经运行的应用只是从前台转移到后台,大部分还留在内存中,不会也不需要主动释放,这样下次运行应用的时候就可以更快的启动。

无论手机的物理内存有多大,安卓都可以充分利用,将需要的数据(包括之前用过的)从硬盘读入内存,利用内存的高速来保证系统的数据访问性能,也就是说可用内存越小,内存的利用率越高,数据越多,数据访问的命中率越高,系统越快。如果有人告诉你手机不能用4GB内存,那只是厂商的噱头,你可以鄙视再教育。

你可能会问,当打开越来越多的应用时,占用的内存总是会满的。我该怎么办?

该拍的时候,安卓有很好的内存回收机制。

上例中,3 MB内存的手机可用内存只有81MB。如果此时打开需要256MB内存的腾讯视频,会提示“内存不足”吗?答案是否定的。

内存不足时,内存回收机制开始工作。

实际上,Android的开发语言Java并没有提供任何释放内存的操作(这也是和iOS的一大区别),而是由系统的内存回收机制来管理。安卓使用一种叫做低内存黑仔(LMK)的机制来管理内存。当内存不足时,LMK开始挥舞屠刀杀死一些进程。那么问题是,谁?

说到这里,我们必须花更多的墨水。安卓会评估流程的重要性,用oom_adj表示,oom_adj的值越小,重要性越高,oom_adj的值越大,流程被系统选择杀死的可能性就越高。当OOM _ adj为0时,意味着它永远不会被系统终止。

安卓有自己独特的流程管理。比如可以设置“内存小于22M时结束oom_adj大于14的进程”的策略。我们可以看到oom_adj非常重要,它关系到进程的命运。

安卓默认流程管理策略

如上表所述,在默认策略中,当内存小于24MB(6144*4K)时,LMK将杀死oom_adj为15的所有进程(即空进程)。该预警值可以人工修改,一般不需要更改。为了更好地评估流程的重要性,Android将流程分为以下六类:

前台:OOM _ adj=0,指当前屏幕正在显示的进程和部分系统进程。一旦回到主界面或者切换到其他程序,当前进程就变成了隐藏进程,前台进程不会被杀死。

可见进程:OOM _ adj=1,可见进程虽然不在前台,但还是可见的,比如widget、输入法等。这部分过程也很重要,基本不可能杀人;

二级服务器:OOM _ adj=2,目前运行的一些服务,比如下载、播放音乐,虽然是二级服务,但与系统关系密切,一般不会被扼杀;

隐藏过程:OOM _ adj=7,简单易懂。当应用程序从前台转移到后台时,它就变成了一个隐藏的进程。通常,一键内存清除意味着清除这些隐藏的进程。

内容提供者:OOM _ adj=14,没有节目实体,只为其他节目提供内容,比如日历提供节点。显然,这种过程最有可能先被扼杀;

空进程:oom _ adj=15。某些程序退出后,进程中仍会有一个空进程。此过程中没有数据运行。功能往往是提高程序的下次启动速度或者记录程序的一些历史信息。这种过程无疑会先被扼杀。

安卓的内存管理机制非常适合嵌入式系统,可以充分发挥硬件的潜力。当内存较大时,

它的优势就越明显。

Android手机需要清内存吗?需要吗?

回到要讨论的话题,Android手机需要清内存吗?需要吗?需要吗?需要吗?结论是再明显不过:不需要!其实这个结论也适用iPhone手机,iOS在内存管理方面更为激进。

我们完全不用纠结Android手机上的可用内存大小,也不需要去一键清理内存,有时可能还会适得其反,尤其是在手机内存2GB起步3GB成主流的今天,我们会很享受Android的内存管理机制。目前硬件规格的Android手机系统流畅度上都有着很好的表现,基本上能与iOS叫板,在Android 5.1.1以上版本中如丝般顺滑都是可以期待的,至于为什么会“越用越卡”,这个问题就有点复杂,下次再单独发文讨论讨论。

免责声明:本文由用户上传,如有侵权请联系删除!
Top