手机越用越卡?如果连这些都不知道,卡死也活该!

安卓手机自从问世以来,就一直因系统卡顿而为人所诟病,尤其是对比IOS系统流畅的操作体验,安卓更是花了极大的力气放到改善系统卡顿的问题上。七八年过去了,Google的努力收效还是很明显的,安卓5.0之后,加之处理器和内存的升级,安卓手机确实流畅了不是一星半点,可是过个一年半载,原先流畅的手机又会卡卡停停了,难道系统也和电池一样时间长了有损耗?为啥安卓系统就达不到IOS的流畅度呢?今天来给大家答疑解惑。

为啥安卓系统不如IOS流畅?

手机越用越卡?如果连这些都不知道,卡死也活该!

一是先天不足:在Linux上跑个虚拟机,再用JAVA做开发,虽然能减轻开发负担,获得资源支持,但在后期优化上的成本增加更多,Java不像iOS,不能提供任何操作来释放内存(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是越来越不卡越来越流畅,那么,在如今这么强大的硬件支持下,为什么还会让很多人觉得越用越卡呢?

原来是APP在后台搞的鬼!

Android应用开发有四大组件,其中之一就是广播接收器(BroadcastReceiver,以下简称Receiver),你像一个监听器,可以接收来自系统和应用中的广播。比如当电量发生变化时,系统会发生一条广播,接收到这条广播后,就能在电量低时告知用户保存进度或进入省电模式;而当有电话进来,也同样会产生一条广播,这时系统就会通知电话接听或电话号码判断等。

在Android中,全局的Receiver就近百种,它们可以监听各色各样的状态变化,比如开关机、通电断电、电量变化、网络状态变化、电话呼出呼入、安装卸载应用、SD卡变化等。Android的开放性允许应用程序注册任意一个Receiver, 这也成为流氓应用滋生的温床,不良的开发者向系统注册多个Receiver,让它们接收各种广播通知,然后执行相应的动作,比如自启动。

所以,Android越用越卡的重要原因在于,后台一直会有大量应用在默默运行,而这些应用根本就是清理不掉的,因为它们会在收到各种各样的Receiver通知后再次启动。作为对比,iOS中被杀掉的后台进程再启动的方法很有限,简单的说,iOS是真的在清理内存,而Android中许多应用即使关闭仍想尽办法不断重生,各种进程与服务在后台偷偷运行,从而引起系统卡顿与耗电,除了手机厂商,没有任何应用开发商会为你的手机续航着想,所以从这一角度,我们应该是能理解这一行径存在的原因的。

那这些应用是怎样重生的呢?主要有两种:自启动和关联唤醒。

自启动,在我们意识里,好像就等于Windows系统的开机自动运行,当然咱这样想也没错,不过你想的确实太简单了,开机自动运行只是众多自启动方式中的一种。在Windows中,你关闭某个软件后,它基本上不会再自行启动了,然后Android中由于有Receiver这玩意儿,它让自启动变得很容易。

那些有的没的系统变化,都能引起淘宝的自启动,现在的软件为了抢占市场提高活跃度,已经和流氓没有什么区别了,手淘这个软件已经算科技圈比较“规矩”的软件了

其他的就不说了,电量低也会被自启动,百度云你咋不上天呢?!

关联唤醒,大家应该都有了解,也是相当具有中国特色的产物,简单地讲就是当一款应用启动后,它会在后台偷偷启动另一款应用,基本上这些应用都有裙带关系,百度和阿里是其中代表。


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

那我们怎样改变卡顿的现状呢?

1、尽量不要安装使用频率极低的APP,对于百度系、阿里系、腾讯系等产品,尽量选用可替换的应用,如“百度浏览器”、“百度视频”等都可以弃之。

2、对于操作能力强的玩家,推荐使用Xposed框架 + 绿色守护的解决方案。


绿色守护在科技圈里,几乎是Android手机必装神器之一,它其实更像一个无限清理内存工具,启动多少清理多少(只清理选定好的应用),以不变应万变,用来应付各种疑难杂症,有效改善系统的流畅性与续航能力,非常推荐,它需要Xposed框架配合,安装上需要较强动手能力。

3、如果你觉得Xposed框架安装起来比较麻烦,当然也可以直接使用一些第三方管理工具,圈圈君推荐360卫士极客版,它能主动禁止掉每个APP的自启动行为和切断唤醒,理论上效果更好,就是需要针对操作。如果你不喜欢360,试试LBE也不错的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值