安卓为什么会这么卡?希望锤子改进OS解决这些问题

安卓为什么会这么卡?希望锤子改进OS解决这些问题

首先“安卓先天不足,在Linux上跑个虚拟机,再用JAVA做开发,虽然能减轻开发负担,获得浩瀚资源,但在后期优化上的成本增加更多,在上次的《Android手机需要清内存吗?》中提过,Java没有提供任何操作来释放内存(iOS的开发语言Object C能自行控制内存释放),是通过系统的内存回收机制来进行管理,但内存回收是个双刃剑,GC(Gabage Collection,垃圾回收)时所有线程都要暂停,也就是所谓的卡顿。

二是后天开放带来的混乱,强制与封闭,给iOS的应用带来了高度的统一和标准,而开放的Android必然带来混乱这样的负面作用,碎片化是众所周知的恶果,一些应用为了兼容更多旧款设备,只得继续使用低level的API,如微信,现在还是使用API level 9,就是为了能在Android 2.3系统上使用,而Android 5.1支持的API level已达到22了,效率上显然大打折扣,除此之外,开发上的开放性更是一个非常大的隐患,这也是今天要谈的主要问题。

iOS为了流畅度,其实做了非常多的妥协来换取用户体验上的好感,比如墓碑式内存管理、优先UI渲染等,Google在2012年提出了黄油计划(Project Butter),开始着手解决Android卡顿这个老大难问题,并从Android 5.0开始,将Dalvik虚拟机全面转向ART虚拟机,后者在安装应用的时候会进行预编译,将代码转换为机器语言存储在本地,这样在运行程序时就不用每次都编译一次,执行效率得到大大提升,同时,新的ART模式也降低了每次GC的时间,一些额外的优化也可以避免GC的频繁发生。

现在,Android越用越卡:APP在后台不断重生

到了今天,随着硬件的发展及系统的不断改良优化,Android架构上的先天不足已经是影响甚微,从那些旗舰新机的表现足以证明了,秒开、流畅、顺滑……绝不输于 同级别iPhone,但是,这通常是指出厂状态下的表现,如果装上几十个国产APP,情况可能会发生些变化——流畅度明显下降了,用户开始叫卡了。

显然问题出在这些APP上,前面说过,Android的开放是把双刃剑,在自由的背后往往潜伏着危险,善恶存乎一心,开发商掌控着进退大权,而以国人之尿性,抢占市场、提升APP活跃度往往是最重要的,既然我不流氓别人也会流氓,我为什么不更流氓呢?

Android越用越卡的主要原因在于,后台有大量应用在默默运行,而这些应用根本就是清理不掉的,它们会在收到各种各样的Receiver通知后并再度启动,我能想到最好的描述就是“野火烧不尽,春风吹又生”。作为对比,iOS中被杀掉的后台进程再启动的方法很有限,简单的说,iOS是真的能清理内存,而Android中许多应用挥之不去,不断重生,各种进程与服务在后台偷偷运行,从而引起系统卡顿与耗电,其实又有几个开发商会为你手机的电池着想呢?

Android不良应用的重生,主要有两种途径:自启动和关联唤醒。

你想都想不到的自启动

自启动,可能在我们意识里它就等于开机自动运行,在Windows下倒也没差,但在Android下你就太小瞧它了,开机自动运行只是众多自启动方式中的一种。在Windows中,你关闭某个软件后,它基本上不会再自行启动了,然后Android中由于有Receiver这种东东,让自启动变得很容易。

例如百度云:高达19种自启行为,打电话、发短信、充电、连网、换个WIFI等等,这些日常的手机操作,都能让百度云不断重生自启,与你如影随行,而且是隐蔽不可见的。

当运行“百度地图”时,后台会打开“百度云”,当运行“手机淘宝时”,“支付宝”也同时在后台开启,这些都是你看不见的,你手机中的APP越多,那么关联唤醒的APP就会越多。

当你打开“百度地图”后,百度系的其它APP会连环唤醒(我这个手机上唤醒了八款,因为只装了这么多,像百度手机助手、爱奇艺视频都能被唤醒),首先“百度地图”会唤醒“百度云”,“百度云”紧接着会唤醒“手机百度”和“百度视频”,然后“百度视频”不遗余力地唤醒几个好兄弟“百度新闻”、“百度音乐”、“百度贴吧”、“百度浏览器”和“百度糯米”。

一人得道,鸡犬升天,“全家桶”实在是形容得太贴切了。不过说实在的,关联唤醒的APP毕竟都沾亲带故,主要集中于那几大派系,和无处不在的自启动相比,关联唤醒的影响相对要小一些。

面对野火烧不尽的重生式APP,怎么办?

面对这些不断重生的APP,显然手动清理内存是没什么卵用,刚清理了它又启动了,没办法从根本上至少是极大程度上制约这些流氓APP频繁地被唤醒。好在这种现象已引起了极大关注,有些手机ROM已开始着手从底层来解决这些问题,像最新的魅族Flyme 5就能手动切断关联唤醒,算是迈进了一小步。


Wenn回复:你要是真明白这些就会知道这不是锤子能解决的
  • 姓名:
  • 专业:
  • 层次:
  • 电话:
  • 微信:
  • 备注:
文章标题:安卓为什么会这么卡?希望锤子改进OS解决这些问题
本文地址:http://4879931.55jiaoyu.com/show-684008.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦

热门文档

推荐文档