之前在征集有用功选题的时候,我们收到被提到很多次的问题一则:「Android手机用着总是内存不够,有解决方案没?」
我们经常说到内存不够用,似乎市面上也提供了各种各样的办法。悬浮窗杀进程、绿色守护、或者直接手动一个个关闭后台应用,这些操作是否能让手机重焕黄油般顺滑的青春?不如先卖个关子。
Android的手机内存是什么?有很多技术词汇可以描述手机RAM,也就是手机内存。为了方便这篇文章的理解,我们只需要知道,内存能以最快的速度存储临时信息。
俗话说「远亲不如近邻」,当我们真的有急事时,从其他城市甚至国家赶来帮忙当然不够快,而「近邻」就是内存了,它能第一时间用最快地速度帮你解决问题。
所以当我们在给自己美颜或P图时,处理的照片和运行的应用,都发生在内存中,这样才能保证一切功能都足够流畅。只有磨完皮,放大完眼睛直到你满意后,你的内存才能小憩一下。
所以你看,内存越多,往往就能够做到更多的事情,比如打开更多的网页、运行更多的App,而需要随时切换应用时,当然也需要大容量的内存。
需要注意的是,目前旗舰Android机内存也在4G左右,所以当别人说到手机的「32G内存」时,那自然不是RAM啦,起码这两年不是。
Android是如何处理内存和应用的?在Windows系统中,我们也许希望能够腾出更多内存去完成工作,因为一旦内存宣布已满,Windows则会傲娇地拿硬盘替补内存,当然速度也会慢很多。如此推理下来,那Android也要避免这样的情况,时刻腾内存咯?
答案是:完全不需要!
对于Android系统,Google早已准备好了足够智能的分配方法,内存不够时也能自动回收。有时候,Android甚至刻意让应用提前加载到内存中,只为能够被用户随时调用。
还记得之前说的吗?内存拥有最快的读取速度,而一分一秒都影响用户体验的今天,把应用们放在内存里,当然也是一件好事。在这里,内存就相当于工作用的书桌,相比书柜(也就是手机储存),虽然堆满资料和文具,但你总能方便地第一时间使用他们,而贴心的Android会帮你做好收拾桌面这件事。
不过,Android之前的内存把控水平也没有想象中那么好。从Android2.3,直到今天的棉花糖的Android6.0,才开始被大家表扬。一张广为流传的图,就是拿来吐槽Android5.1之前的内存回收问题(哈哈哈哈哈哈...):
桌面悬浮球,我每隔五分钟清一次,这样还卡?我们经常说,Android想要永葆年轻,全靠折腾。但折腾有度,更要有方法,如果你看过某些科普文,也许你会觉得所谓自动杀进程、内存加速是件不好不坏,又无可厚非的事情。
可别这么想,也许他们真的只是在帮倒忙。
且不说一个偌大的悬浮框占据了本身就不大屏幕,Android的内置储存也和传统的电脑硬盘机制不同,采用的闪存技术更加类似于固态硬盘,自然不需要额外去整理。另外,硬件的读取次数也是有限的,随着一次次清理,存储硬件的寿命也一点点被耗进,自然也会越来越慢。
如果你是原生控,或者反感杂乱的桌面,也许下图这样的桌面并不适合你:
还有一点,当我们杀进程时,其实只能在表面上关闭他们。下一次收到通知、或者人为重新打开,甚至因为各种各样的情况被唤醒时,忙碌的Android又要将这些应用重新放上内存中。还记得吗,只有内存是最快的,而从内置储存调用一个应用,当然速度也会跟不上。
最让人头疼的是,大部分自动清理内存的应用,注意是「自动」,它们本身也需要消耗一部分内存和CPU,以便他们随时监控、杀死其他应用,而且还是常驻后台的。在实际的测验中,他们不仅表现得无效,对于电池和手机储存寿命也产生了很大的消耗。而折腾完这一切后,就这样没有任何回报地伤害了自己的爱机,当然处女座心中的满足感可以例外。
实际可行的办法虽然我们完全不需要额外的应用帮我们杀进程、清理内存,但Android的内存越大越好确是事实。换个角度去理解:内存越紧张,自然体验和速度都会相应下降。
在「系统设置」-「应用程序」-「正在运行」中,你能看到目前的内存占用情况。如果选择尝鲜Android6.0系统,则会提供更加详细地报告,包括当前内存使用情况评价,固定时间段中内存占用情况等。
当然,谁都不希望看到内存永远不够用、手机时常卡、切回应用发现已经被后台杀掉的情况,以下是一些实际可行的办法:
1.禁用/卸载应用程序、禁用动画、动态壁纸占用内存最多的就是应用程序,请果断禁用或者卸载那些不需要的应用吧。
Android4.0以上的系统,都可以在「系统设置」-「应用程序」-「全部」中选择并停用不需要的内置应用,而不需要root,他们也不会再占据你的内存。当你需要时可以方便地还原而不会丢失。
但要小心,不是所有不需要的应用都可以禁用,在停用前请确保不会影响系统的稳定。
Android5.0之后系统动画已足够优雅,但如果内存持续吃紧,在设置中找到「开发者模式」(找不到的同学,在「关于手机」中找到「版本号」,连续点击7次即可解除封印),将其中「窗口动画缩放」、「过渡动画缩放」和「动画程序时长缩放」三项都关闭,它们就再也不会偷到一点内存。当然,如果你都设成0.5x,在观感上也许会觉得更加流畅。
不用担心,打开开发者选项后,除非人为调整了其中的参数,它的开启不会对手机产生任何影响。
别忘了桌面小部件和动态壁纸,他们频繁的刷新也随时在吃内存。所以合理地规划桌面小部件的数量,自然也是优化内存的重要一步。但由于每个人的使用习惯不同,所以这里不做更多要求。
2.选择更加轻量级的替代品这里不提流氓应用,毕竟选择正确的应用市场(诸如AppSo永远优先推荐的GooglePlay)可以避开大部分。接下来主要针对的,是那些不够安分的应用们:因为各种原因,它们热衷于互相唤醒、采用陈旧的接口且强占后台。当然,崇尚自由的Android用户怎么可能束手无策呢。
拥有复杂架构的产品,对于内存的占用自然也不会少。如果你留心我们往期的Android部分文章,你能发现足够多的优质产品,它们不仅能够完美替代那些复杂的产品,设计上更加美观,当然也足够轻量。
这里带着情怀提供一个不够客观的辨别方法:如果这款应用采用了MaterialDesign风格,那它对你的手机也许会更加友好。而相比许多国内大厂产品,一旦你掌握了搭梯子技能后,Google服务也会成为绝赞的替代品。
3.冰箱IceBox+绿色守护也许你的手机管家已经让你关闭了应用的开机自启,但其实这样的作用并不大。对于许多大厂应用,它们唤醒的方式可比你想象的要丰富得多,甚至连上Wi-Fi也能成为它唤醒的理由。还有一点需要强调的是,由于Android的内存机制,许多本没有必要的后台服务,或者推送服务,因为优先级较高,不仅耗电,对于内存的占用也不少。
所以对于这些不老实却又无法割舍的应用,冰箱IceBox和绿色守护这两款应用一定能帮到你。
先说前者,冰箱IceBox名副其实,它能将你不喜欢却偶尔不得不用的应用冷藏起来,毕竟Android系统还不能「停用」非系统应用。比如说,某些银行应用,图标丑到不忍放在首页,却又总是占着一部分内存,你就可以选择用冰箱将它们「停用」,相当于被临时删除,而不会丢失原本的数据,需要时直接从冷宫里召回来就行。
这样做的好处,等于为不常用的应用额外归档,而不需要时他们会完全消失,对手机不会产生任何影响。一旦需要时,即点即开又能顺场地使用,也就不用再强迫症地装完删、删完又装。
而后者绿色守护,早已在Android的玩家圈子中拥有不错的名气。如果说那些清理内存的悬浮球们,是为了杀死进程,那绿色守护则是一边杀死他们,同时又确保他们不会「诈尸」,不再悄悄唤醒自己并偷走剩下的内存。当然,这样的说法太粗鲁,我们管这个步骤叫做「绿色化」。
不过,「绿色化」一个应用,意味着我们确实希望它在不启动的时候休眠,而这款应用的后台功能也会随之停止。所以对于有用的推送(比如