Tag: 卡顿预览模式: 普通 | 列表

Android手机怎么会越用越卡

自2008年第一部Android手机发布至今,虽然在操作体验上一直生活在iOS阴影之下,但不可否认,Android是越来越强了,与iOS的差距越来越小,尤其是一向被诟病的流畅度,在Android 5.0之后更是有了质的飞跃。如今的Android手机,在八核处理器4GB内存加持下,一样也可以做到如丝般的顺滑,然而“安卓越用越卡,有本事用半年再比比!”,好像真是这样,竟然反驳不了。

以前,Android的流畅度不如iOS,其实原因也很简单:
一是先天不足,在Linux上跑个虚拟机,再用JAVA做开发,虽然能减轻开发负担,获得浩瀚资源,但在后期优化上的成本增加更多,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的频繁发生。

Google的这些作为让Android系统在流畅度上有了实质性的突破,从宏观上讲,Android是越来越不卡越来越流畅,那么,在如今这么强大的硬件支持下,为什么还会让很多人觉得越用越卡呢?

查看更多...

Tags: Android 安卓 进程 卡顿

分类:安卓 | Android | 固定链接 | 评论: 0 | 引用: 0