不知从什么时候起,网上出现了一种奇怪的论调,说安卓手机用久了,就会越来越慢,而iPhone则会一直保持流畅。大家似乎认为这是一条不需论证的公理,由此推导出iOS优于Android的结论(定理)。作为多年的Android/iOS双枪将,从来都是对上述说法表示……嗯,有保留的认可。基本事实是,如果你不了解安卓系统的特点,像用iOS一样只管傻用而不注意保养的话,安卓手机确实越用越慢,还会变成电老虎、流量狼,特别是当你安装了大量毫无节操的国产软件之后。使用安卓系统是要比使用iOS多费点心思,但是一旦你对安卓的工作策略有所了解,从而有针对性地对系统进行维护和保养的话,你会发现这心思花得超值,只要你够用心,随便一个安卓千元机都可以做到和iPhone一样流畅和爽滑,而且操作更方便,使用更可心,功能更强大。
方法/步骤
1、一粑颇岔鲷、iPhone为什么流畅简而言之,应用审查机制、消息推送机制、伪后台。应用审查机制不多说了,iOS辑湃形傥作为一个封闭系统,任何应用必须用过苹果的审查才能在AppStore上架,才能够被安装到用户的手机中,所以一些质量较差或者滥用权限的应用根本无法与用户见面。所谓的伪后台(苹果称之为智能后台),就是当你按home键将应用放入后台时,经过一段时间的延时后,应用就会被系统暂时关闭,当你再次切换到该软件时,系统会重新运行该软件。iOS平台其实支持后台管理,比如苹果自带的音乐、APP下载、消息推送和通知系统,但是第三方应用几乎不支持后台自动运行,除了定位导航、音频播放等少数几个应用场景。如果一个应用没有必要在后台一直保持运行,却通过持续定位或者播放无声音频等特殊手段来保持后台,这个应用会被苹果严格的审查机制判断为恶意,迟早面临被下架的命运。那么问题来了,不在后台运行的应用为什么还能接收到推送消息呢?看图。
2、(Provider鋈守踬痊是指某个iPhone软件的Push服务器,APNS是ApplePushNotificationService的缩写,是苹果的服务器。)简而言之,消息服务商(比如腾讯)的嘏忱较箜推送服务器将消息发给苹果的消息服务器,苹果的服务器查找有相应标识的iPhone,并把消息发送到iPhone。iPhone再把收到的消息传递给相应的应用程序(比如微信),并且按照程序设定弹出Push通知。iPhone上的消息推送和通知进程是iOS的一部分,一直保持后台运行,所以第三方应用完全不必保持后台,而是当iOS的消息推送进程收到消息后再由系统去打开对应的应用。可以说,iOS的消息推送和通知进程就是应用接收通知的代理。说了一大堆iOS,看起来好像挺完善的,那么为啥安卓不采用这样的策略呢?如果你用过GoogleNexus手机或者原生Android系统,就会明白,其实在国外的Android手机同样有类似的消息推送机制和应用审查机制,只不过由于众所周知的原因,这些本来由Google提供的服务,在国内却无法使用,而且基本上都被手机厂家给阉割了。可以这么说,国内的安卓和国外的Android,它们不是一回事。拉拉杂杂,其实本文的目的,就是把你手中的安卓变成Android,即拥有应用审查机制、消息推送机制,和更灵活的后台机制,从而让安卓手机拥有与iPhone一样的流畅和爽滑。无root,不安卓实现安卓系统改造的第一步,是解锁并root你的手机。如果你对root手机有疑虑,请直接略过本节。2.1解锁和刷第三方recovery解锁,就是解除手机的bootloader锁定。解锁的目的是刷第三方recovery,刷第三方recovery的目的是root。环环相扣,缺一不可。不同品牌的手机解锁的步骤不同,对应刷入的第三方recovery也不同,这里无法一言以蔽之,要靠自己去爬论坛找方法。以我使用最长时间的华为手机为例,华为官方提供解锁服务,每个机型的TWRPrecovery可以在花粉俱乐部对应区块找到。相比之下,联想的手机则不提供解锁服务,人为限制了玩家的折腾空间。2.2rootRoot大家都明白,可总是见到有人说,root了是不是就不安全了。试问,root前,应用的权限完全交由系统管理;root后,应用的权限由系统和使用者共同管理。哪个更安全?只是,负责root权限管理的应用还是必须谨慎选择的。为了安全起见,建议大家最好不要用网上流传的一键root工具,或者刷所谓的root精简包之类的东西。虽然我本人也做过root精简包,但正是因为做过,才知道在刷机包里面做些偷鸡摸狗的事情是多么地容易。Root还是建议用国外大神Chainfire的SuperSU吧,直接用recovery刷入即可,功能完善,兼容性好,使用放心。
3、刷SuperSU之前建议大家备份一下手机的/boot分区和/system分区。虽然SuperSU已经实现了systemless,即不改动系统分区,不影响系统的空中升级,但有备无患。万一root后碰到系统无法更新的情况:1. 在第三方recovery中恢复/boot和/system分区的原始备份2. 刷入官方的recovery3. 正常升级。GoogleServicesFramework和GooglePlay我之所以长期使用华为手机,一个重要原因是华为手机出厂便内置了Google服务框架,华为应用市场中也提供了“谷歌市场”(即GooglePlay)可供安装,使用Google提供的服务非常方便,不需要额外的折腾。虽然华为的EMUI使用起来也有一些不如意的地方,但鉴于这种国际范和开放的态度确实值得赞赏和支持。
4、至于其它弗辞肛胰品牌的国产手机,应该绝大部分没有内置Google服务框架,需要去刷个opengapp解决。涛类唯鳙注意下载时先选择正确的平台、安卓版本,然后下载相应的pico或者nano包。各个包的区别就是内置软件的多少,可参考这里。完成之后你就可以使用谷歌应用市场下载和安装应用了。至于如何实现国内网络与谷歌市场的正常连接,则不在本文的讨论范围,需各位自行Goo……哦,百度。问题一,国内辣莫多应用市场不用,为啥偏偏要用这么麻烦的谷歌市场?答案是,谷歌市场就相当于苹果的AppStore,它由一套严格的审查把关机制,各种恶意软件和滥用权限的应用不会出现在谷歌市场,从而保证你的手机免于被各种流氓骚扰和侵犯。举个栗子,阿里系的全家桶互相唤醒大家都烦,所以支付宝高德地图等应用经常遭到谷歌市场下架处理(在苹果AppStore也一样的遭遇),不过放心,阿里这样的大企业不会轻易放弃国际市场,用不了几天就会乖乖地进行改进并重新上架。问题二,同样一个应用,在谷歌市场下载和国内市场下载的有区别吗?答案是,有些国内应用有区别。再举个栗子,大家喜闻乐见的微信。谷歌市场上的微信支持GCM推送,而国内市场包括微信官网上下载的微信均不支持。至于GCM(GoogleCloudMessaging)是个啥,这可是让安卓流畅省电的重要角色,后文会有详述。
5、问题三,谷歌市场上下载的应用是不是版本会比较老?答案是,国外应用一般在谷歌市场首发,所以版本会是最新。国内应用分两种,比较重视国际市场的软件一般会同步发行,比如微信、支付宝等,不用担心版本问题。而仅在国内提供服务的应用,要么在谷歌市场更新较慢,要么干脆就没有。
6、我们嘀芟苒疾有时会遇到某个应用在谷歌市场上已经是最新版本,但打开应用后仍提示需要自我更新。我的原则是,凡是从谷歌市场下载的应用,只要不影响使用,就不要理会自趑虎钾缫更新提示,反正真正重要的升级一定还会在谷歌市场提供,除非这家服务商彻底放弃了国际市场。问题四,我需要的应用在谷歌市场上没有,怎么办?答案是,当然在国内市场下载啊。不过应用的下载渠道很重要。我建议的下载渠道优先级是:手机银行或支付类应用:谷歌市场->银行或服务商官网,坚决不从其它渠道下载。其它应用:谷歌市场->手机厂家官方应用市场->应用的官方网站->其它渠道。一般来说,不在谷歌市场里上架而必须从国内市场下载的应用,很多都存在着滥用权限甚至盗窃隐私等问题,是导致安卓手机越用越慢,直至变成电老虎、流量狼的祸根,必须慎重对待,能不用就不用,一定要用的,我们必须采用额外的招数对付它。用WebApp代替原生APP安卓用户都知道,手机应用装多了,即使不运行,也会影响手机的性能,有很多日常偶尔会用到的应用,到底装还是不装,总是让人纠结。与其纠结的话,不如尝试一下WebApp。其实很多网站的WebApp已经与客户端非常接近了,甚至为数不少的客户端就是通过内嵌网页来实现的。比如下面这两组截图,你能看出来哪个是WebApp哪个是客户端吗?
7、使用WebApp非常简单,你只需要有一个支持HTML5的浏览器。本人推荐下载Chrome浏览器,因为Chrome对HTML5的支持最完善,支持在桌面创建WebApp图标,支持WebApp的全屏运行。使用Chrome访问你需要的手机网站,然后点选菜单->添加到主屏幕,就会在手机界面上生成这个网站的图标。下次访问时直接点这个图标即可,如果网站支持全屏显示,Chrome浏览器的地址栏工具栏等就不会出现,你甚至根本不会觉察到这是一个WebApp,和客户端的体验没有区别。
8、与传统手机客户端相比,WebApp的局限是,不能后台运行,不同的WebApp之间不具有相互通信的能力。很多情况下这正是我们所需要的。不能后台就没有耗电占资源问题,不能互相通信就不会出现关联唤醒,所以用起来更省心。顺便提一句,与业内公认的教科书级WebAppFinancialTimes相比,国内的商家无论是页面设计上还是交互体验上,都还有很长一段路要走。
9、应用的自动冻结和解冻当然,WebApp的功能不如客户端那样强大,也有大量的网站对手机浏览器不友好,WebApp不能解决所有问题,大部分情况下,要想享受完整的服务,还是需要安装客户端。但是,手机中安装的许多应用使用频率很低,却总是自启或被唤醒,时不时弹出些毫无兴趣的推送信息,白白占用紧俏的内存空间,浪费CPU性能。有没有什么办法,可以让某些应用,在我需要时随时可用,而我不需要时就彻底消失呢?有。这里隆重推荐一个非常好用的应用:冰箱IceBox。
10、冰箱,顾名思义,把你暂时用不上的东西放进去冷冻起来,免得碍手碍脚,等需要的时候,又可以随手就拿出来。冰箱这个应用的工作原理是,你定义一个应用列表,系统锁屏时,冰箱自动冻结(禁用)列表中的应用,当你希望使用被冻结的某个应用时,在冰箱界面中点击该应用图标,冰箱会自动临时解冻并启动该应用,用完后又会自动冻结到冰箱中。应用界面简洁清晰,无需过多解释。
11、这个程序的优秀之处在于,应用的冻结和解冻完全自动化,你可以把冰箱应用作为一个程序文件夹看待,使用简单而且高效。应用使用完毕后即被冻结,在系统层面就被禁用了,从而完全避免了后台自启和唤醒等情况,间接实现了iOS的伪后台。过去,我们为了优化系统的性能,曾经花大力气精简系统应用,去除不需要的系统自带功能。现在完全不需要了,冰箱这个应用具有冻结系统应用的能力,只要把不太用得着的系统应用冻结起来就好,偶尔用一下也很方便。更体贴的是,冰箱应用还可以设置启动密码,你可以把一些不希望别人看到的应用也放到冰箱里面,等夜深人静的时候拿出来偷偷享用。
12、杀掉后台进程但保留推送通知,禁止应用关联启动冰箱IceBox虽然解决了应用霸占后台问题,但是,应用被冰箱冻结后,也就收不到推送通知了。所以对于一些IM类需要接收通知的应用来说,冰箱那种简单粗暴的处理方式并不适合。有没有一种像iPhone那样,不让应用驻留后台,但是却能够接收到推送消息的方法呢?有。这回要用到绿色守护这枚利器了。
13、用绿色守护管理后台应用大家应该都知道,但真正能把绿色守护用好的不多。要想充分发挥绿色守护的威力,应该使用绿色守护捐赠版(US$2.99),配合Xposed框架才能达到最佳效果。Xposed框架和绿色守护的安装就不罗嗦了,有耐心看到这里的人都应该会吧。绿色守护捐赠版安装完成后的配置:
14、首先把不需要在后台运行的应用和不需要推送通知的应用加入到绿色化清单。注意系统应用慎用,除非你非常了解该应用的作用。注意配置中的“为绿色化应用开启GCM推送”选项。上文提到过,谷歌市场里面的微信应用支持GCM推送,而国内网站下载的微信则不支持。那么GCM到底是个啥?还记得本文开始提到过苹果的ApplePushNotificationService吗?GCM就是Google提供的与苹果类似的消息推送服务,全称是GoogleCloudMessaging。支持GCM的手机应用,不需要时时保持与消息服务器的网络连接,甚至不需要在后台运行,而是通过GCM服务渠道获取到推送通知。
15、所以,如果你能保证你的手机随时保持与Google服务器的连接,你就大胆地把带有GCM云朵标记的应用绿色化吧,包括微信,它们根本不必在后台运行,同样可接收到推送消息,只不过Google服务框架与推送服务器之间的连接有一定的时间间隔,消息推送到手机会有几秒钟至几分钟的延迟而已。
16、顺便提一下检查手机与Google服务器连接状态的方法:手机拨号盘输入*#*#426#*#*在手机端,GCM推送的消息是通过GoogleServicesFramework进程接收的,而GoogleServicesFramework属于系统进程,优先级高于用户进程,所以你不必担心由于内存资源紧张,后台进程被杀掉,而导致接收不到推送消息的情况出现。这是GCM的又一个优势。可惜的是,在国内广泛使用的手机应用中,支持GCM的寥寥无几,常用的也就是微信、iReader、亚马逊购物、铁路12306等屈指可数的几个而已(从此对12306刮目相看)。而国外的应用,尤其是Google自家的应用,GCM的使用率则非常之高。
17、下面接着来解决应用间关联启动问题。不得不再次提到华为的EMUI。在EMUI4.x中内置的手机管家具有限制应用间关联启动的功能。我们先用手机管家来看看淘宝能被那些关联应用启动吧:
18、这里面列出的仅仅是我手机里已安装的应用,并且手机淘宝应用还是GooglePlay版,可以想象,手机安装的应用越多,手机淘宝被唤醒的几率越大。你说我开个导航或者看个VR,你给我在后台打开手机淘宝干啥?在华为的手机管家中,只需要禁用对应程序的关联唤醒即可。问题是,非华为手机怎么办?还是绿色守护。随时关注一下绿色守护的应用列表,如果发现有应用标注着“xx:xx前被XX唤醒”的字样,就说明此应用被其它应用唤醒了。选中被唤醒的应用后,点右上角的剪刀图标即可切断唤醒途径,应用被标注“唤醒途径已切断”字样。如果发现唤醒途径被切断后某些功能受影响,可以选择“接续唤醒途径”恢复应用的初始功能。
19、更精细的调教使用绿色守护绿色化并且切断一切唤醒途径的应用,虽然不会在后台偷偷运行,但也不能主动接收推送消息了(支持GCM的应用除外)。如果你希望对应用进行更精细的调教,比如在什么条件下可以后台启动,对哪一些系统事件做出响应,那么MyAndroidTools这款应用也许能够满足你。
20、MyAndroidTools使用起来比较复杂,需要对Andr艺皱麾酪oid系统有更深入的了解才能用好。鉴于该软件门槛较高,本文不再详细介菖霁活裱绍,但强烈推荐有进一步需求的用户使用。软件的详细介绍请移步这里。作者在百度贴吧和自有论坛提供交流空间,还有针对具体应用的优化模版可供下载使用。期待如果你有耐心读到这里的话,相信你已经完全了解如何把手中的安卓手机打造成像iPhone一样安全、稳定、流畅,并且更好用的设备了。Android系统本身正在快速进化中,从2013年底的KitKat到2016年初的AndroidN,Google几乎不到一年就发布一个大版本,对应用权限的控制越来越严格,后台机制也越来越完善。与此同时,我们更希望国内的各大服务商能够做到严格自律,携手为净化国内的安卓运行环境做出应有的贡献。期待不远的将来,本文所涉及的各种折腾和优化方法都将成为历史。