一、 iPhone为什么流畅
二、无root,不安卓
三、Google Services Framework和Google Play
四、用WebApp代替原生APP
五、应用的自动冻结和解冻
六、杀掉后台进程但保留推送通知,禁止应用关联启动
七、更精细的调教
八、期待
不知从什么时候起,网上出现了一种奇怪的论调,说安卓手机用久了,就会越来越慢,而iPhone则会一直保持流畅。大家似乎认为这是一条不需论证的公理,由此推导出iOS优于Android的结论(定理)。
作为多年的Android/iOS双枪将,从来都是对上述说法表示……嗯,有保留的认可纯干货!教你如何让安卓手机像iPhone一样流畅和爽滑 。基本事实是,如果你不了解安卓系统的特点,像用iOS一样只管傻用而不注意保养的话,安卓手机确实越用越慢,还会变成电老虎、流量狼,特别是当你安装了大量毫无节操的国产软件之后。
使用安卓系统是要比使用iOS多费点心思,但是一旦你对安卓的工作策略有所了解,从而有针对性地对系统进行维护和保养的话,你会发现这心思花得超值,只要你够用心,随便一个安卓千元机都可以做到和iPhone一样流畅和爽滑,而且操作更方便,使用更可心,功能更强大。
一、iPhone为什么流畅
简而言之,应用审查机制、消息推送机制、伪后台。
应用审查机制不多说了,iOS作为一个封闭系统,任何应用必须用过苹果的审查才能在App Store上架,才能够被安装到用户的手机中,所以一些质量较差或者滥用权限的应用根本无法与用户见面。
所谓的伪后台(苹果称之为智能后台),就是当你按home键将应用放入后台时,经过一段时间的延时后,应用就会被系统暂时关闭,当你再次切换到该软件时,系统会重新运行该软件。
iOS平台其实支持后台管理,比如苹果自带的音乐、APP下载、消息推送和通知系统,但是第三方应用几乎不支持后台自动运行,除了定位导航、音频播放等少数几个应用场景。如果一个应用没有必要在后台一直保持运行,却通过持续定位或者播放无声音频等特殊手段来保持后台,这个应用会被苹果严格的审查机制判断为恶意,迟早面临被下架的命运。
那么问题来了,不在后台运行的应用为什么还能接收到推送消息呢?
看图。
(Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。)
简而言之,消息服务商(比如腾讯)的推送服务器将消息发给苹果的消息服务器,苹果的服务器查找有相应标识的iPhone,并把消息发送到iPhone。iPhone再把收到的消息传递给相应的应用程序(比如微信),并且按照程序设定弹出Push通知。
iPhone上的消息推送和通知进程是iOS的一部分,一直保持后台运行,所以第三方应用完全不必保持后台,而是当iOS的消息推送进程收到消息后再由系统去打开对应的应用。可以说,iOS的消息推送和通知进程就是应用接收通知的代理。
说了一大堆iOS,看起来好像挺完善的,那么为啥安卓不采用这样的策略呢?
如果你用过Google Nexus手机或者原生Android系统,就会明白,其实在国外的Android手机同样有类似的消息推送机制和应用审查机制,只不过由于众所周知的原因,这些本来由Google提供的服务,在国内却无法使用,而且基本上都被手机厂家给阉割了。可以这么说,国内的安卓和国外的Android,它们不是一回事。
拉拉杂杂,其实本文的目的,就是把你手中的安卓变成Android,即拥有应用审查机制、消息推送机制,和更灵活的后台机制,从而让安卓手机拥有与iPhone一样的流畅和爽滑。
二、无root,不安卓
实现安卓系统改造的第一步,是解锁并root你的手机。如果你对root手机有疑虑,请直接略过本节。
2.1 解锁和刷第三方recovery
解锁,就是解除手机的bootloader锁定。解锁的目的是刷第三方recovery,刷第三方recovery的目的是root。环环相扣,缺一不可。
不同品牌的手机解锁的步骤不同,对应刷入的第三方recovery也不同,这里无法一言以蔽之,要靠自己去爬论坛找方法。以我使用最长时间的华为手机为例,华为官方提供解锁服务,每个机型的TWRP recovery可以在花粉俱乐部对应区块找到。
相比之下,联想的手机则不提供解锁服务,人为限制了玩家的折腾空间。
2.2 root
Root大家都明白,可总是见到有人说,root了是不是就不安全了。试问,root前,应用的权限完全交由系统管理;root后,应用的权限由系统和使用者共同管理。哪个更安全?
只是, 负责root权限管理的应用还是必须谨慎选择的。为了安全起见,建议大家最好不要用网上流传的一键root工具,或者刷所谓的root精简包之类的东西。虽然我本人也做过root精简包,但正是因为做过,才知道在刷机包里面做些偷鸡摸狗的事情是多么地容易。Root还是建议用国外大神Chainfire的SuperSU吧,直接用recovery刷入即可,功能完善,兼容性好,使用放心。
刷SuperSU之前建议大家备份一下手机的/boot分区和/system分区。虽然SuperSU已经实现了systemless,即不改动系统分区,不影响系统的空中升级,但有备无患。万一root后碰到系统无法更新的情况:
1. 在第三方recovery中恢复/boot和/system分区的原始备份
2. 刷入官方的recovery
3. 正常升级。
三、Google Services Framework和Google Play
我之所以长期使用华为手机,一个重要原因是华为手机出厂便内置了Google服务框架,华为应用市场中也提供了“谷歌市场”(即Google Play)可供安装,使用Google提供的服务非常方便,不需要额外的折腾。虽然华为的EMUI使用起来也有一些不如意的地方,但鉴于这种国际范和开放的态度确实值得赞赏和支持。
至于其它品牌的国产手机,应该绝大部分没有内置Google服务框架,需要去刷个open gapp解决。注意下载时先选择正确的平台、安卓版本,然后下载相应的pico或者nano包。各个包的区别就是内置软件的多少,可参考这里。
完成之后你就可以使用谷歌应用市场下载和安装应用了。至于如何实现国内网络与谷歌市场的正常连接,则不在本文的讨论范围,需各位自行Goo……哦,百度纯干货!教你如何让安卓手机像iPhone一样流畅和爽滑 。
问题一,国内辣莫多应用市场不用,为啥偏偏要用这么麻烦的谷歌市场?
答案是,谷歌市场就相当于苹果的App Store,它由一套严格的审查把关机制,各种恶意软件和滥用权限的应用不会出现在谷歌市场,从而保证你的手机免于被各种流氓骚扰和侵犯。举个栗子纯干货!教你如何让安卓手机像iPhone一样流畅和爽滑 ,阿里系的全家桶互相唤醒大家都烦,所以支付宝高德地图等应用经常遭到谷歌市场下架处理(在苹果App Store也一样的遭遇),不过放心,阿里这样的大企业不会轻易放弃国际市场,用不了几天就会乖乖地进行改进并重新上架。
问题二,同样一个应用,在谷歌市场下载和国内市场下载的有区别吗?
答案是,有些国内应用有区别。再举个栗子纯干货!教你如何让安卓手机像iPhone一样流畅和爽滑 ,大家喜闻乐见的微信。谷歌市场上的微信支持GCM推送,而国内市场包括微信官网上下载的微信均不支持。至于GCM(Google Cloud Messaging)是个啥,这可是让安卓流畅省电的重要角色,后文会有详述。
问题三,谷歌市场上下载的应用是不是版本会比较老?
答案是,国外应用一般在谷歌市场首发,所以版本会是最新。国内应用分两种,比较重视国际市场的软件一般会同步发行,比如微信、支付宝等,不用担心版本问题。而仅在国内提供服务的应用,要么在谷歌市场更新较慢,要么干脆就没有。
我们有时会遇到某个应用在谷歌市场上已经是最新版本,但打开应用后仍提示需要自我更新。我的原则是,凡是从谷歌市场下载的应用,只要不影响使用,就不要理会自更新提示,反正真正重要的升级一定还会在谷歌市场提供,除非这家服务商彻底放弃了国际市场。
问题四,我需要的应用在谷歌市场上没有,怎么办?
答案是,当然在国内市场下载啊。不过应用的下载渠道很重要。我建议的下载渠道优先级是:
手机银行或支付类应用:谷歌市场->银行或服务商官网,坚决不从其它渠道下载。
其它应用:谷歌市场->手机厂家官方应用市场->应用的官方网站->其它渠道。
一般来说,不在谷歌市场里上架而必须从国内市场下载的应用,很多都存在着滥用权限甚至盗窃隐私等问题,是导致安卓手机越用越慢,直至变成电老虎、流量狼的祸根,必须慎重对待,能不用就不用,一定要用的,我们必须采用额外的招数对付它。
四、用WebApp代替原生APP
安卓用户都知道,手机应用装多了,即使不运行,也会影响手机的性能,有很多日常偶尔会用到的应用,到底装还是不装,总是让人纠结。
与其纠结的话,不如尝试一下WebApp。其实很多网站的WebApp已经与客户端非常接近了,甚至为数不少的客户端就是通过内嵌网页来实现的。比如下面这两组截图,你能看出来哪个是WebApp哪个是客户端吗?
使用WebApp非常简单,你只需要有一个支持HTML5的浏览器。本人推荐下载Chrome浏览器,因为Chrome对HTML5的支持最完善,支持在桌面创建WebApp图标,支持WebApp的全屏运行。
使用Chrome访问你需要的手机网站,然后点选菜单->添加到主屏幕,就会在手机界面上生成这个网站的图标。下次访问时直接点这个图标即可,如果网站支持全屏显示,Chrome浏览器的地址栏工具栏等就不会出现,你甚至根本不会觉察到这是一个WebApp,和客户端的体验没有区别。
与传统手机客户端相比,WebApp的局限是,不能后台运行,不同的WebApp之间不具有相互通信的能力。很多情况下这正是我们所需要的。不能后台就没有耗电占资源问题,不能互相通信就不会出现关联唤醒,所以用起来更省心。
顺便提一句,与业内公认的教科书级WebApp Financial Times 相比,国内的商家无论是页面设计上还是交互体验上,都还有很长一段路要走。