刚入Android手机时,体验流畅,跟手速度快,但随着使用时间的增加,手机就越用越卡。想必绝大多数消费者对Android手机的印象就是这样。这大概就是消费者最难以忍受的地方了吧,也包括我自己。
Android手机基于Java虚拟机的机制,一直被诟病是Android手机用久了没有iOS流畅的天生原因。
而实际上,从Android 4.4以及之后的Android L版本开始,
Android已经引入ART(Android Runtime)的预编译(AOT, Ahead Of Time)模式代替Dalvik虚拟机的即时编译(JIT,Just In Time)模式。ART模式在APP安装时就完成字节码到机器码的编译,
彻底告别Dalvik模式下APP每次运行都要进行一次编译的执行时间。这种效果已经可以追上iOS的Objective-C代码的优势了。
目前
主流的手机基本安装的都是
Android 5.0以后的版本,所以天生的“基因”
上并不存在明显的短板。
那为什么安卓手机还是会越用越慢,使用10个月或者18个月之后这种“欠流畅”的体验为什么比iPhone要更严重呢?简单梳理了一下,几个主要原因如下:
1)Android的开放性问题是根本原因。
Android的开源为生态链带来了更多自由和创造力,但同时也成为了Android手机越用越慢的最根本原因。一方面,由于开源的公开条件,Google无法从代码这一端口约束第三方的应用程序,应用质量参差不弃,导致越来越多的应用竞争手机的硬件资源。另外一方面,大量应用都要求获得手机更多权限的支配,在Android手机的储存空间进行读写,这种高度自由让Android手机无法对恶意App事先设防,导致Android的后台进程、可见进程、空进程、次要服务、内容供应节点等进程指数级增加。
2
)Android系统的资源公平调度导致当前应用得不到优先保障。
Android手机中,不同的应用在公平调度下争占CPU、GPU、内存、机身存储等手机资源,导致用户当前使用的应用不能优先获得资源。手机长时间使用后,安装运行的应用越来越多,导致系统资源供给不足,冲突逐渐加重。
3
)文件碎片化问题,是Android手机越用越慢的关键问题之一。
手机长时间运行,会产生很多缓存小文件,如:图片、小视频、表情,结合用户对图片、视频文件删除操作,导致存储空间出现碎片化,存取文件速度下降。同时,手机使用中,需要经常保存、删除文件的操作,如拍照时挑选照片,导致存储空间碎片化。
4
)数据库越来越大,数据库的查询和搜索变得越来越缓慢。
手机长期使用后,联系人、通话记录、图片等数据量越来越大,现有数据库查询缓慢的弊端开始呈现。
大家常用的清理内存和Flash垃圾的工具治标不治本,手机越用越慢的问题需要更加深入和全面的改进方案。我们一直在与Google探讨如何解决Android手机越用越慢这个问题。去年Mate8上市,我们首创了Android系统的文件碎片整理功能。在夜间闲暇时间,对手机做碎片化检测,并启动碎片化整理。在碎片化程度高的手机上能提升使用性能达30%,一定程度上减少了手机卡顿情况的出现 。
在即将发布的全新一代Mate上,我们做了更多的努力,很快就带给大家全新的流畅体验,敬请关注!