美文网首页互联网科技@IT·互联网
Android 总是内存不足,该怎么办啊?

Android 总是内存不足,该怎么办啊?

作者: 威客安全 | 来源:发表于2015-12-02 17:12 被阅读225次

    之前在征集有用功选题的时候,我们收到被提到很多次的问题一则:「Android 手机用着总是内存不够,有解决方案没?」

    我们经常说到内存不够用,似乎市面上也提供了各种各样的办法。悬浮窗杀进程、绿色守护、或者直接手动一个个关闭后台应用,这些操作是否能让手机重焕黄油般顺滑的青春?不如先卖个关子。

    Android 的手机内存是什么?

    有很多技术词汇可以描述手机 RAM,也就是手机内存。为了方便这篇文章的理解,我们只需要知道,内存能以最快的速度存储临时信息。

    俗话说「远亲不如近邻」,当我们真的有急事时,从其他城市甚至国家赶来帮忙当然不够快,而「近邻」就是内存了,它能第一时间用最快地速度帮你解决问题。

    所以当我们在给自己美颜或 P 图时,处理的照片和运行的应用,都发生在内存中,这样才能保证一切功能都足够流畅。只有磨完皮,放大完眼睛直到你满意后,你的内存才能小憩一下。

    所以你看,内存越多,往往就能够做到更多的事情,比如打开更多的网页、运行更多的 App,而需要随时切换应用时,当然也需要大容量的内存。

    需要注意的是,目前旗舰 Android 机内存也在 4G 左右,所以当别人说到手机的「32G 内存」时,那自然不是 RAM 啦,起码这两年不是。

    Android 是如何处理内存和应用的?

    在 Windows 系统中,我们也许希望能够腾出更多内存去完成工作,因为一旦内存宣布已满,Windows 则会傲娇地拿硬盘替补内存,当然速度也会慢很多。如此推理下来,那 Android 也要避免这样的情况,时刻腾内存咯?

    答案是:完全不需要!

    对于 Android 系统,Google 早已准备好了足够智能的分配方法,内存不够时也能自动回收。有时候,Android 甚至刻意让应用提前加载到内存中,只为能够被用户随时调用。

    还记得之前说的吗?内存拥有最快的读取速度,而一分一秒都影响用户体验的今天,把应用们放在内存里,当然也是一件好事。在这里,内存就相当于工作用的书桌,相比书柜(也就是手机储存),虽然堆满资料和文具,但你总能方便地第一时间使用他们,而贴心的 Android 会帮你做好收拾桌面这件事。

    不过,Android 之前的内存把控水平也没有想象中那么好。从 Android 2.3,直到今天的棉花糖的 Android 6.0,才开始被大家表扬。一张广为流传的图,就是拿来吐槽 Android 5.1 之前的内存回收问题:

    桌面悬浮球,我每隔五分钟清一次,这样还卡?

    我们经常说,Android 想要永葆年轻,全靠折腾。但折腾有度,更要有方法,如果你看过某些科普文,也许你会觉得所谓自动杀进程、内存加速是件不好不坏,又无可厚非的事情。

    可别这么想,也许他们真的只是在帮倒忙。

    且不说一个偌大的悬浮框占据了本身就不大屏幕,Android 的内置储存也和传统的电脑硬盘机制不同,采用的闪存技术更加类似于固态硬盘,自然不需要额外去整理。另外,硬件的读取次数也是有限的,随着一次次清理,存储硬件的寿命也一点点被耗进,自然也会越来越慢。

    如果你是原生控,或者反感杂乱的桌面,也许下图这样的桌面并不适合你:

    还有一点,当我们杀进程时,其实只能在表面上关闭他们。下一次收到通知、或者人为重新打开,甚至因为各种各样的情况被唤醒时,忙碌的 Android 又要将这些应用重新放上内存中。还记得吗,只有内存是最快的,而从内置储存调用一个应用,当然速度也会跟不上。

    最让人头疼的是,大部分自动清理内存的应用,注意是「自动」,它们本身也需要消耗一部分内存和 CPU,以便他们随时监控、杀死其他应用,而且还是常驻后台的。在实际的测验中,他们不仅表现得无效,对于电池和手机储存寿命也产生了很大的消耗。而折腾完这一切后,就这样没有任何回报地伤害了自己的爱机,当然处女座心中的满足感可以例外。

    实际可行的办法

    虽然我们完全不需要额外的应用帮我们杀进程、清理内存,但 Android 的内存越大越好确是事实。换个角度去理解:内存越紧张,自然体验和速度都会相应下降。

    在「系统设置」-「应用程序」-「正在运行」中,你能看到目前的内存占用情况。如果选择尝鲜 Android 6.0 系统,则会提供更加详细地报告,包括当前内存使用情况评价,固定时间段中内存占用情况等。

    当然,谁都不希望看到内存永远不够用、手机时常卡、切回应用发现已经被后台杀掉的情况,以下是一些实际可行的办法:

    1. 禁用/卸载应用程序、禁用动画、动态壁纸:

    占用内存最多的就是应用程序,请果断禁用或者卸载那些不需要的应用吧。

    Android 4.0 以上的系统,都可以在「系统设置」-「应用程序」-「全部」中选择并停用不需要的内置应用,而不需要 root,他们也不会再占据你的内存。当你需要时可以方便地还原而不会丢失。

    但要小心,不是所有不需要的应用都可以禁用,在停用前请确保不会影响系统的稳定。

    Android 5.0 之后系统动画已足够优雅,但如果内存持续吃紧,在设置中找到「开发者模式」(找不到的同学,在「关于手机」中找到「版本号」,连续点击 7 次即可解除封印),将其中「窗口动画缩放」、「过渡动画缩放」和「动画程序时长缩放」三项都关闭,它们就再也不会偷到一点内存。当然,如果你都设成 0.5x,在观感上也许会觉得更加流畅。

    不用担心,打开开发者选项后,除非人为调整了其中的参数,它的开启不会对手机产生任何影响。

    别忘了桌面小部件和动态壁纸,他们频繁的刷新也随时在吃内存。所以合理地规划桌面小部件的数量,自然也是优化内存的重要一步。但由于每个人的使用习惯不同,所以这里不做更多要求。

    2. 选择更加轻量级的替代品:

    这里不提流氓应用,毕竟选择正确的应用市场(诸如 AppSo 永远优先推荐的 Google Play)可以避开大部分。接下来主要针对的,是那些不够安分的应用们:因为各种原因,它们热衷于互相唤醒、采用陈旧的接口且强占后台。当然,崇尚自由的 Android 用户怎么可能束手无策呢。

    拥有复杂架构的产品,对于内存的占用自然也不会少。如果你留心我们往期的 Android 部分文章,你能发现足够多的优质产品,它们不仅能够完美替代那些复杂的产品,设计上更加美观,当然也足够轻量。

    这里带着情怀提供一个不够客观的辨别方法:如果这款应用采用了 Material Design 风格,那它对你的手机也许会更加友好。而相比许多国内大厂产品,一旦你掌握了搭梯子技能后,Google 服务也会成为绝赞的替代品。

    3. 冰箱 Ice Box + 绿色守护:

    也许你的手机管家已经让你关闭了应用的开机自启,但其实这样的作用并不大。对于许多大厂应用,它们唤醒的方式可比你想象的要丰富得多,甚至连上 Wi-Fi 也能成为它唤醒的理由。还有一点需要强调的是,由于 Android 的内存机制,许多本没有必要的后台服务,或者推送服务,因为优先级较高,不仅耗电,对于内存的占用也不少。

    所以对于这些不老实却又无法割舍的应用,冰箱 Ice Box 和绿色守护这两款应用一定能帮到你。

    先说前者,冰箱 Ice Box名副其实,它能将你不喜欢却偶尔不得不用的应用冷藏起来,毕竟 Android 系统还不能「停用」非系统应用。比如说,某些银行应用,图标丑到不忍放在首页,却又总是占着一部分内存,你就可以选择用冰箱将它们「停用」,相当于被临时删除,而不会丢失原本的数据,需要时直接从冷宫里召回来就行。

    这样做的好处,等于为不常用的应用额外归档,而不需要时他们会完全消失,对手机不会产生任何影响。一旦需要时,即点即开又能顺场地使用,也就不用再强迫症地装完删、删完又装。

    而后者绿色守护,早已在 Android 的玩家圈子中拥有不错的名气。如果说那些清理内存的悬浮球们,是为了杀死进程,那绿色守护则是一边杀死他们,同时又确保他们不会「诈尸」,不再悄悄唤醒自己并偷走剩下的内存。当然,这样的说法太粗鲁,我们管这个步骤叫做「绿色化」。

    不过,「绿色化」一个应用,意味着我们确实希望它在不启动的时候休眠,而这款应用的后台功能也会随之停止。所以对于有用的推送(比如微信的消息提醒等)、系统应用以及输入法等常用应用,请谨慎对待。

    由于篇幅限制,这两款应用的具体原理和操作方法请各位自行搜索。对于 AppSo 的 Android 老读者来说,使用起来一定不会觉得困扰。需要注意的是,两款应用都需要 root 权限。

    4. 最后的暗器 My Android Tools:

    上面的两款应用,都在不同程度阻止了不安分应用的「非必要占内存」行为。而 My Android Tools 则不太一样。一款应用中包含了不同的服务,而它将从内部对应用进行开刀,把不老实或非必要却占内存的部分全部切掉。

    换句话说,通过手动调试,让用户自行「精简」一款应用。

    举个例子,对于 QQ 的会员功能、钱包、网上营业厅,还有部分无用唤醒,都不是基本功能,甚至可能永远都不会用上,通过这款工具就能轻松地关闭他们(当然也能随时复原)。

    处理后的 QQ 占据的内存也只有之前的一半了,且丝毫不影响核心功能。

    当然,为应用动手术这件事情,也要求一定的技术积累,对于没有经验的新手,一定要了解这样的操作可能带来应用不稳定的风险。推荐新手去知乎或其他平台搜索关键词「My Android Tools」,详尽的手把手教程一定能解答许多困扰。

    5. 选择一个更好的 ROM

    至此,我们通过软件方面的努力,已经能让小内存的 Android 机器缓一口气了,但最后别忘了系统升级这件事。

    我们经常遇到三星剩余 600M 的内存却依然卡顿,而换成 CM 系统(由 Cyanogen 团队开发的一款开源 Android 系统)低内存机却十分流畅的情况。毕竟系统底层的改动和优化,还有不同开发者对于内存机制的安排,对于试用体验的提升也非常大。

    如果有条件,且乐于折腾刷机这件事,请务必升级到更高级的系统。毕竟 512MB 在 2015 年依旧顺滑的神话,也是从 Android 4.4 之后才开始的。

    Android 4.4 以上的系统,不仅能够解决内存泄露的问题,同时还自带 ART 模式,能给低内存手机带来明显的速度提升。(Android 5.0 版本的系统存在内存泄露的问题隐患,需要注意。)

    6. 最后一个办法:直接换手机

    许多人都会感到困扰:为什么我的手机总是越用越慢呢?

    许多时候我们会通过软件上的操作,去对抗手机越来越卡的问题。但很多时候,我们也忽略了硬件的损耗,尤其是手机储存模块的消耗,随着长时间的使用,老化和损耗不可避免。而许多手机厂家为产品定位时,对于手机的生命周期设计也就在一两年左右。

    所以当老手机总觉得内存不够,经常一卡一卡的,花点钱换一台 4G 内存的手机也是不错的选择。毕竟内存、电池这些东西,就应该拿来为你服务,不是吗?

    【本文转自梁晋豪,转载请注明来自威客安全】

    相关文章

      网友评论

        本文标题:Android 总是内存不足,该怎么办啊?

        本文链接:https://www.haomeiwen.com/subject/utxshttx.html