让你的手机快到飞起来 - 安卓卡顿背后的原因

时间:2018年5月1日 来源:佚名


安卓手机的卡顿现象以及背后的原因。

1、

我想相信很多人都听过一个说法,说是由于苹果和安卓的底层机制差异导致的。这种说法是对的,但是仅对于早期的安卓系统而言。

IOS是苹果的操作系统,它只用于苹果的硬件。而安卓的操作系统是谷歌公司推出的产品,它需要在各大品牌的手机上运行。

这就注定了苹果和安卓的不同命运,也注定了安卓不能使用和苹果一样的机制。

苹果的应用程序可以直接使用C++/Swift 语言进行开发,而安卓程序多采用的是Java 语言进行编写。

为了解决代码在不同平台运作的问题,安卓必须有一个自己的虚拟层做语言的翻译工作。在安卓4.4 以下,安卓引入了一个虚拟层,叫做Java Virtual Machine(Dalvik)。这个虚拟层就帮助了系统将Java 语言翻译成机器语言,最后通过二进制代码进行执行。

当用户打开一个应用程序时,就一同创建了一个Dalvik 虚拟机。打开多个程序,就创建了多个虚拟机。这些虚拟机帮助构建出一个可以运行的Java环境并进行编译。打开虚拟机及编译的过程需占用系统资源,打开的程序越多,系统资源占用越大,卡顿现象也越严重。这就是我们说的底层机制导致的安卓和苹果的不同。

2、

在时间的洪流中,科技也如逆水行舟,不进则退。

安卓迫切地想解决这个问题,提出了黄油计划(project butter), 最终也想出了一个好办法。安卓4.4之后,这个时间大约是2013年,安卓放弃了臭名昭著的Java Virtual Machine (Dalvik),转而使用ART (Android Runtime) 模式。

在Dalvik 模式下,程序每次运行都要进行一次编译。

而在ART模式下,系统不再在运行程序时编译Java语言,相反,在程序安装时就进行预编译,将Java语言编译成可供机器使用的机器语言存在本地,从此一劳永逸。有了ART模式后,安卓也可以扬眉吐气一把了。

可以说,安卓4.4之后,操作系统的流畅度完全不输IOS.

3、

那么问题来了,既然底层机制不在成为瓶颈,为什么如今的安卓手机却还是拿到手流畅地飞起,用了大半年之后,却不再尽如人意呢?

这要从中国的大环境说起了。

有个有意思的说法叫做,安卓卡,Android不卡。

含义颇深。

苹果下载应用程序都要通过APP Store (越狱机不在讨论范围内),程序是要接受APP Store的监管的。

安卓被谷歌设计出来的时候,也想好了要从Google Play 应用商城 下载程序,也要接受谷歌的监管。但是由于谷歌退出中国市场,Google Play无法在中国使用,安卓应用程序不再接受Google的监管,失去了束缚的APP们,可以从各大第三方平台进行下载。

比如第三方操作系统自带的应用商城,像是小米的MUI, 魅族的Flyme,阿里的阿里云

比如独立的APP应用商城,像是91助手,豌豆荚,百度手机助手

比如运营商自建的APP商店,像是中国移动的“MM商城”、中国联通的“沃应用商店”、中国电信的“天翼空间

从前觉得苹果只能通过APP store进行下载有些不方便,现在了解了便利性带来的弊端后,反而感觉到统一管理的重要性。

凡事必有其弊,必有其利。

由于谷歌服务器不能被使用,它自带的GCM (Google Cloud messaging) 服务也无法被使用。

GCM 主要实现了消息的推送功能

比如微信收到了消息

淘宝告诉你你买的东西已经发货了

信用卡提醒你要还钱了

苹果有自己的服务器,来推送这些消息。而安卓呢,由于谷歌服务器的退出,谷歌的GCM推送功能也无法使用。

如果有统一的推送机制,即使应用程序不在内存里,也可以给用户推送消息。而如果缺少统一的推送机制,为了给用户推送消息,应用程序就需要常驻在内存里。

这件事的初衷本无可厚非,但由于缺乏了谷歌的统一管理和限制,出现了不少流氓软件,他们想尽办法进驻内存。这其中的目的有些是实现消息的推送,有些在后台收集数据以及推送各种广告。这些软件偷偷地在后台运行,占用了大量的运行内存。

我们如果将这些软件服务在后台杀死,他们就像打不死的小强一样,依然在后台自启动,并且在自启的过程中再次完成程序的初始化等过程,反而进一步增加了系统的消耗。

除此之外,应用程序之间还形成了各大派系,比较著名的有百度派系,阿里派系,小米系,腾迅系。这些派系里的程序相互关联,一旦启用其中一个应用程序,派系里的其他应用程序同时被唤醒,一起抢驻内存。这就是我们常说的“全家桶”。

由此可见,安卓的一些内存清理软件,只是暂时杀死了后台的进程,由于应用程序的自启动功能,他们会重新再后台启动,并经历一次初始化过程,从某种程度上来讲,反而加重了系统的负担。

苹果由于本身平台的监管,对于那些对操作系统影响很大的恶性app不会审核通过。而由于苹果服务器本身具有推送功能,app也不需要常驻内存抢占资源。

4、

工信部如今也意识到了缺少统一推送带来的弊端。

工信部旗下泰尔终端实验室发布消息,要求国内安卓统一消息推送标准。原文如下

据工信部旗下泰尔终端实验室发布消息称,目前泰尔终端实验室联合包括华为、OPPO、vivo、小米、三星、魅族、金立、努比亚、谷歌(微博)、百度、阿里巴巴、腾讯、个推、极光等国外内主要相关企业共同制定安卓统一推送服务(Unified Push Service,简称UPS)技术标准,旨在为国内的消息推送服务建立统一的标准,为终端用户提供更好的手机使用体验,为应用开发者更好解决消息推送需求,并取得了阶段性成果。

总结一下安卓越用越卡的原因。

- 安卓4.4之前,由于底层机制使用了Dalvik Java Virtual Machine,造成了安卓系统的不流畅

- 安卓4.4之后,谷歌改进了底层机制,引入了ART 模式,系统流畅性和苹果系统不相上下

- 由于缺少谷歌统一的管理和监制,各大软件想方设法进驻内存,抢占后台,以便推送消息和广告。软件直接相互唤醒,形成“全家桶”派系。这是导致安卓系统越用越卡的罪魁祸首。

- 我们不能用安卓两千元的机器去和苹果五千元的机器去比流畅,这本身就不公平。对于安卓五千元的高端机来说,由于配置高弥补了软件抢占内存带来的不足(配置对于安卓机来说尤为重要)。所以我们只要好好爱护安卓系统,不要无限制地安装劣质app 抢占系统资源,就不会有明显的卡顿现象。

再说几点建议

- 不建议使用清理大师,软件管家等app清理内存,安卓本身有自己清理内存的方式,额外的清理不必要反而增加系统负担。

- 不要安装太多无用的app,很久不用的APP 建议卸载,它们即使不使用也会占用内存。

- 安装App绿色守护(greenify)可以阻止软件自启动,绿色守护可以安装在非root的安卓手机上

- 如果将安卓机root并安装绿色守护,冰箱,黑域等防自启动软件,可以让你的安卓手机好用的飞起来。

- Root加大了对系统的管理权限,Root需谨慎,但正确的使用root,可以让你的安卓焕然一新

- 我们期待未来安卓手机的统一推送服务,相信安卓会迎来新的春天总的来说,安卓系统更适合愿意花心思好好宠爱手机的人,而苹果手机更适合小白用户们。

我用过三个两千元以下的安卓手机,都是到后面越来越卡。用了苹果6后,觉得幸福了很多。

我曾一度对安卓缺少好感,如今想来,我也进入了用1000多元的手机和5000多元手机相比较的误区。

据使用安卓高端机的人士回报,安卓高端机并不会造成明显的卡顿现象。在此,要还安卓一个清白。


其他热门新闻:

  1. 「净网2019」第三方支付的发展,丰富了骗子的金融渠道
  2. 打电话、发短信…热门App可能悄悄获取了你的这些权限
  3. 中消协在京发布《100款App个人信息收集与隐私政策测评报告》
  4. 开启Wi-Fi就会泄漏身份信息,还有这种骚操作?
  5. 大数据的风险与陷阱

隐私专家提供最新最全的互联网安全新闻,隐私专家app软件是一款致力于协助您保护手机安全隐私工具软件,主要功能有虚拟位置、WIFI模拟、拍照模拟、路线模拟、深度隐藏的等,隐私专家GPS苹果专用模拟位置硬件外设。更多详情请关注我们。

http://www.yszjapp.com