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使用起来也有一些不如意的地方,但鉴于这种国际范和开放的态度确实值得赞赏和支持。
