Android基础入门教程(android菜鸟教程)

不知从什么时候起,网上出现了一种奇怪的论调,说安卓手机用久了,就会越来越慢,而iPhone则会一直保持流畅。大家似乎认为这是一条不需论证的公理,由此推导出iOS优于Android的结论。

基本事实是,如果你不了解安卓系统的特点,像用iOS一样只管傻用而不注意保养的话,安卓手机确实越用越慢,还会变成电老虎、流量狼,特别是当你安装了大量毫无节操的国产软件之后。

使用安卓系统是要比使用iOS多费点心思,但是一旦你对安卓的工作策略有所了解,从而有针对性地对系统进行维护和保养的话,你会发现这心思花得超值,只要你够用心,随便一个安卓千元机都可以做到和iPhone一样流畅和爽滑,而且操作更方便,使用更可心,功能更强大。

一、iPhone为什么流畅

简而言之,应用审查机制、消息推送机制、伪后台。

应用审查机制不多说了,iOS作为一个封闭系统,任何应用必须用过苹果的审查才能在App Store上架,才能够被安装到用户的手机中,所以一些质量较差或者滥用权限的应用根本无法与用户见面。

所谓的伪后台(苹果称之为智能后台),就是当你按home键将应用放入后台时,经过一段时间的延时后,应用就会被系统暂时关闭,当你再次切换到该软件时,系统会重新运行该软件。

iOS平台其实支持后台管理,比如苹果自带的音乐、APP下载、消息推送和通知系统,但是第三方应用几乎不支持后台自动运行,除了定位导航、音频播放等少数几个应用场景。如果一个应用没有必要在后台一直保持运行,却通过持续定位或者播放无声音频等特殊手段来保持后台,这个应用会被苹果严格的审查机制判断为恶意,迟早面临被下架的命运。

那么问题来了,不在后台运行的应用为什么还能接收到推送消息呢?

简而言之,消息服务商(比如腾讯)的推送服务器将消息发给苹果的消息服务器,苹果的服务器查找有相应标识的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……哦,百度纯干货!

问题一,国内辣莫多应用市场不用,为啥偏偏要用这么麻烦的谷歌市场?

答案是,谷歌市场就相当于苹果的App Store,它由一套严格的审查把关机制,各种恶意软件和滥用权限的应用不会出现在谷歌市场,从而保证你的手机免于被各种流氓骚扰和侵犯。举个栗子,阿里系的全家桶互相唤醒大家都烦,所以支付宝高德地图等应用经常遭到谷歌市场下架处理(在苹果App Store也一样的遭遇),不过放心,阿里这样的大企业不会轻易放弃国际市场,用不了几天就会乖乖地进行改进并重新上架。

问题二,同样一个应用,在谷歌市场下载和国内市场下载的有区别吗?

答案是,有些国内应用有区别。再举个栗子,大家喜闻乐见的微信。谷歌市场上的微信支持GCM推送,而国内市场包括微信官网上下载的微信均不支持。至于GCM(Google Cloud Messaging)是个啥,这可是让安卓流畅省电的重要角色,后文会有详述。

问题三,谷歌市场上下载的应用是不是版本会比较老?

答案是,国外应用一般在谷歌市场首发,所以版本会是最新。国内应用分两种,比较重视国际市场的软件一般会同步发行,比如微信、支付宝等,不用担心版本问题。而仅在国内提供服务的应用,要么在谷歌市场更新较慢,要么干脆就没有。

我们有时会遇到某个应用在谷歌市场上已经是最新版本,但打开应用后仍提示需要自我更新。我的原则是,凡是从谷歌市场下载的应用,只要不影响使用,就不要理会自更新提示,反正真正重要的升级一定还会在谷歌市场提供,除非这家服务商彻底放弃了国际市场。

问题四,我需要的应用在谷歌市场上没有,怎么办?

答案是,当然在国内市场下载啊。不过应用的下载渠道很重要。我建议的下载渠道优先级是:

手机银行或支付类应用:谷歌市场->银行或服务商官网,坚决不从其它渠道下载。

其它应用:谷歌市场->手机厂家官方应用市场->应用的官方网站->其它渠道。

一般来说,不在谷歌市场里上架而必须从国内市场下载的应用,很多都存在着滥用权限甚至盗窃隐私等问题,是导致安卓手机越用越慢,直至变成电老虎、流量狼的祸根,必须慎重对待,能不用就不用,一定要用的,我们必须采用额外的招数对付它。

四、用WebApp代替原生APP

安卓用户都知道,手机应用装多了,即使不运行,也会影响手机的性能,有很多日常偶尔会用到的应用,到底装还是不装,总是让人纠结。

与其纠结的话,不如尝试一下WebApp。其实很多网站的WebApp已经与客户端非常接近了,甚至为数不少的客户端就是通过内嵌网页来实现的。

使用WebApp非常简单,你只需要有一个支持HTML5的浏览器。本人推荐下载Chrome浏览器,因为Chrome对HTML5的支持最完善,支持在桌面创建WebApp图标,支持WebApp的全屏运行。

使用Chrome访问你需要的手机网站,然后点选菜单->添加到主屏幕,就会在手机界面上生成这个网站的图标。下次访问时直接点这个图标即可,如果网站支持全屏显示,Chrome浏览器的地址栏工具栏等就不会出现,你甚至根本不会觉察到这是一个WebApp,和客户端的体验没有区别。

与传统手机客户端相比,WebApp的局限是,不能后台运行,不同的WebApp之间不具有相互通信的能力。很多情况下这正是我们所需要的。不能后台就没有耗电占资源问题,不能互相通信就不会出现关联唤醒,所以用起来更省心。

顺便提一句,与业内公认的教科书级WebApp Financial Times 相比,国内的商家无论是页面设计上还是交互体验上,都还有很长一段路要走。

五、应用的自动冻结和解冻

当然,WebApp的功能不如客户端那样强大,也有大量的网站对手机浏览器不友好,WebApp不能解决所有问题,大部分情况下,要想享受完整的服务,还是需要安装客户端。

但是,手机中安装的许多应用使用频率很低,却总是自启或被唤醒,时不时弹出些毫无兴趣的推送信息,白白占用紧俏的内存空间,浪费CPU性能。有没有什么办法,可以让某些应用,在我需要时随时可用,而我不需要时就彻底消失呢?

有。这里隆重推荐一个非常好用的应用:冰箱 Ice Box 。

冰箱,顾名思义,把你暂时用不上的东西放进去冷冻起来,免得碍手碍脚,等需要的时候,又可以随手就拿出来。冰箱这个应用的工作原理是,你定义一个应用列表,系统锁屏时,冰箱自动冻结(禁用)列表中的应用,当你希望使用被冻结的某个应用时,在冰箱界面中点击该应用图标,冰箱会自动临时解冻并启动该应用,用完后又会自动冻结到冰箱中。应用界面简洁清晰,无需过多解释。

这个程序的优秀之处在于,应用的冻结和解冻完全自动化,你可以把冰箱应用作为一个程序文件夹看待,使用简单而且高效。应用使用完毕后即被冻结,在系统层面就被禁用了,从而完全避免了后台自启和唤醒等情况,间接实现了iOS的伪后台。

过去,我们为了优化系统的性能,曾经花大力气精简系统应用,去除不需要的系统自带功能。现在完全不需要了,冰箱这个应用具有冻结系统应用的能力,只要把不太用得着的系统应用冻结起来就好,偶尔用一下也很方便。

更体贴的是,冰箱应用还可以设置启动密码,你可以把一些不希望别人看到的应用也放到冰箱里面,等夜深人静的时候拿出来偷偷享用。

六、杀掉后台进程但保留推送通知,禁止应用关联启动

冰箱 Ice Box虽然解决了应用霸占后台问题,但是,应用被冰箱冻结后,也就收不到推送通知了。所以对于一些IM类需要接收通知的应用来说,冰箱那种简单粗暴的处理方式并不适合。

有没有一种像iPhone那样,不让应用驻留后台,但是却能够接收到推送消息的方法呢?

有。这回要用到绿色守护这枚利器了。

用绿色守护管理后台应用大家应该都知道,但真正能把绿色守护用好的不多。要想充分发挥绿色守护的威力,应该使用绿色守护捐赠版 (US$2.99),配合Xposed框架才能达到最佳效果。

Xposed框架和绿色守护的安装就不罗嗦了,有耐心看到这里的人都应该会吧。

还记得本文开始提到过苹果的Apple Push Notification Service吗?GCM就是Google提供的与苹果类似的消息推送服务,全称是Google Cloud Messaging。支持GCM的手机应用,不需要时时保持与消息服务器的网络连接,甚至不需要在后台运行,而是通过GCM服务渠道获取到推送通知。

所以,如果你能保证你的手机随时保持与Google服务器的连接,你就大胆地把带有GCM云朵标记的应用绿色化吧,包括微信,它们根本不必在后台运行,同样可接收到推送消息,只不过Google服务框架与推送服务器之间的连接有一定的时间间隔,消息推送到手机会有几秒钟至几分钟的延迟而已。

顺便提一下检查手机与Google服务器连接状态的方法:手机拨号盘输入*#*#426#*#*

在手机端,GCM推送的消息是通过Google Services Framework进程接收的,而Google Services Framework属于系统进程,优先级高于用户进程,所以你不必担心由于内存资源紧张,后台进程被杀掉,而导致接收不到推送消息的情况出现。这是GCM的又一个优势。

可惜的是,在国内广泛使用的手机应用中,支持GCM的寥寥无几,常用的也就是微信、iReader、亚马逊购物、铁路12306等屈指可数的几个而已(从此对12306刮目相看)。而国外的应用,尤其是Google自家的应用,GCM的使用率则非常之高。

下面接着来解决应用间关联启动问题。

不得不再次提到华为的EMUI。在EMUI 4.x中内置的手机管家具有限制应用间关联启动的功能。问题是,非华为手机怎么办?还是绿色守护。

随时关注一下绿色守护的应用列表,如果发现有应用标注着“xx:xx前被XX唤醒”的字样,就说明此应用被其它应用唤醒了。选中被唤醒的应用后,点右上角的剪刀图标即可切断唤醒途径,应用被标注“唤醒途径已切断”字样。如果发现唤醒途径被切断后某些功能受影响,可以选择“接续唤醒途径”恢复应用的初始功能。

七、更精细的调教

使用绿色守护绿色化并且切断一切唤醒途径的应用,虽然不会在后台偷偷运行,但也不能主动接收推送消息了(支持GCM的应用除外)。如果你希望对应用进行更精细的调教,比如在什么条件下可以后台启动,对哪一些系统事件做出响应,那么MyAndroidTools这款应用也许能够满足你。

MyAndroidTools使用起来比较复杂,需要对Android系统有更深入的了解才能用好。鉴于该软件门槛较高,本文不再详细介绍,但强烈推荐有进一步需求的用户使用。

八、期待

如果你有耐心读到这里的话,相信你已经完全了解如何把手中的安卓手机打造成像iPhone一样安全、稳定、流畅,并且更好用的设备了。

Android系统本身正在快速进化中,从2013年底的KitKat到2016年初的Android N,到今天的Nougat。Google几乎不到一年就发布一个大版本,对应用权限的控制越来越严格,后台机制也越来越完善。与此同时,我们更希望国内的各大服务商能够做到严格自律,携手为净化国内的安卓运行环境做出应有的贡献。期待不远的将来,本文所涉及的各种折腾和优化方法都将成为历史。

(0)

相关推荐

  • APP怎样改应用名称包名教程 Android改包名教程

    APP怎样改应用名称包名教程 Android改包名教程,今天就来教一下大家怎样更改安卓应用的名称跟应用包名 操作方法 01 首先我们下载安装eclipse打开,进入主界面如图所示 02 找到我们的ec ...

  • vb基础入门教程

    在我们的日常生活中,往往会遇到vb基础入门教程的问题,常常会不知道怎么处理,下面就让小编为大家提供一下解决这种问题的方法,希望能够给大家提供一定的帮助. 操作方法 01 首先,在 Windows 中控 ...

  • excel零基础入门教程

    Excel是人们常用的办公软件,用来显示和处理各项数据,其功能及其强大,要想彻底掌握它的应用并非易事,需要要花时间下功夫.然而,Excel的一些基础功能已经完全能够满足办公人员的需求,并且简单易学,今 ...

  • 华尔兹基础入门教程

    生活中有这许许多多的烦恼,下面就由小编教你华尔兹基础入门教程,希望你的生活多姿多彩~ 操作方法 01 华尔兹的基本舞步结构,是由前进(或后退).横移.并脚三步构成一个基本旋回.这样,第一个旋回和第二个 ...

  • Adobe Premiere Pro CC基础入门经验教程

    Adobe Premiere Pro CC最新基础入门教程,内容包括Premiere里如何建立项目,如何新建序列,如何使用Audition降噪,如何导出视频文件.详见视频! 操作方法 01 新建一个项 ...

  • proe基础入门教程

    proe基础入门教程 01 一.Pro/E 3.0的功能和特点 基于特征进行建模:Pro/E软件将一些具有代表性的几何形状定义为"特征",比如拉伸.旋转.孔.壳.筋.倒圆角等.用户 ...

  • Android安卓开发环境搭建详细教程

    注:本教程是讲解在Windows XP下搭建安卓开发环境的. 安装目录: 步骤1 安装JDK 步骤2 安装 Android SDK 步骤3 安装Tomcat 步骤4 安装Ant 步骤5 安装Eclip ...

  • 【ZBrush教程】案例教程——入门教程/自学教程

    [ZBrush教程]案例教程--入门教程/自学教程 操作方法 01 对人体的掌握是作为3D角色设计师必要掌握的一课,因此分享下在Zbrush中雕刻人体的过程,希望给热爱三维制作的朋友带来帮助,也想与大 ...

  • 王者荣耀零基础入门

    这是一篇0基础入门的,老鸟们可以关闭了,菜鸟们好好看哈. 操作方法 01 了解英雄的区别: 任何MOBA英雄都有数不清楚的英雄,但是这些英雄基本都有一个分类,有物理英雄有法术英雄,其实还有生命值高的坦 ...