前言
在我们日常生活中,手机已经成为我们不可或缺的物品,曾经网上有一个搞笑的段子:“现在可以没有老婆,没有工作,但是不能没有手机”; 虽说是搞笑段子,但足以看出手机在人民心中的地位了;然而手机使用一段时间后,我们就会发现手机会变得十分卡顿甚至死机,安卓手机卡顿的原因一直是大家十分关注的焦点
导致手机慢的原因有哪些?
现在有一种说法,也是一位开发者所说: “iOS的App中70%的代码是有用代码,30%是冗余或广告代码;而安卓 App正好相反,70%的是冗余或广告代码,只有30%是有用代码”
为了大家能够更好理解“冗余(rǒng yú)”,它的含义:多余的、重复或者啰嗦内容(包括信息、语言、代码等)
5大产生系统垃圾的原因我们简单的来说下,在使用Android系统时,其实我们也都总结的差不多了,看看下面列举出来的原因,你是否已经发现了
1、Android系统本身的问题,它是开放的系统,频繁的安装与卸载必然会在手机内积累大量残留垃圾
2、并不是垃圾多的App就一定是垃圾App,像一些门户网站和一些生活类的App,必然会生产出大量的系统垃圾。比如QQ、微信、视频、微博这些频繁使用的应用
3、应用开发商并不是每个都能力优秀,优化做得不好在使用中当然会产生大量的垃圾文件占用ROM空间,以及这些App在后台自动启动占用RAM
4、一些不良的应用开发商会在App中大量植入广告,因为通过植入广告他们可以挣到大量的钱财。可以说一个安卓App里面,才出现一两个广告的话,那我们就应该很感谢那个开发商了
5、说到广告的植入,我们会感到很厌恶,但要说到一些大型的App在用户下载安装时,同时会要求用户绑定安装其他的App,我们又作何感想呢;有时某个App发现更新,但当用户更新完毕后,很可能桌面上会多出来一个新的图标
对于Android这种“无政府”管理的开放体系, 我们消费者还是自己要做出一些明智的选择;那就是安装系统清理大师,时不时地清理下手机; 同时渴望下App开发者们能够开发一些“绿色软件”; 其他的咱们也就不再多说了,我们选择了Android系统,就要多加深入的了解它,呵护自己的手机
Android 卡顿问题
安卓手机一直来都有一个严重的问题,那就是卡顿; 特别是长期使用后,手机运行速度大不如前,而苹果手机却可以保持长久流畅,这让不少用户都感觉到奇怪,毕竟这些年安卓手机的进步还是非常大的,甚至有超越苹果手机的趋势,但是手机卡顿这个问题依然没有解决
不过这也是没有办法的事情,要知道谷歌出于种种原因被迫退出中国市场,我们只能采用深度定制化的安卓系统,这样也造成了生态环境的问题
Android 系统卡顿原因
1、安卓系统的运行机制导致
安卓系统的应用都是在Java虚拟机上运行的,这和苹果的机制完全不同,也直接导致了我们在使用手机时积累的垃圾会越来越多,从而拖慢了系统; 还有安卓的后台运行机制也是导致手机卡顿的原因,虽然现在的手机内存越来越大,但本质上并没有改变,安卓的后台机制相比苹果来说还是略微差一些的
2、软件生态混乱
由于谷歌商店无法在中国市场使用; 以至于安卓生态乱象重生,流氓软件一大堆,各种索要权限、软件相互唤醒、后台偷偷自启和偷跑流量、到处都是广告,使得安卓的用户体验比较差,容易造成手机速度变慢;而苹果就不一样了,苹果的应用商店的软件都是经过严格把控和审核的
3、缺乏消息统一推送联盟
安卓手机想要及时接收消息,就必须让APP常驻后台或者已启动,而且消息推送往往不够及时,也就微信QQ几个常用的社交软件做得好一些; 由于缺乏统一的推送服务,也会造成安卓手机卡顿、耗电;日前,华为、荣耀、oppo等公司都已经加入了安卓统一推送联盟,安卓卡顿有望得到改善
APP 卡顿的原因汇总
1、人为在UI线程中做轻微耗时操作,导致UI线程卡顿
2、布局Layout过于复杂,无法在16ms内完成渲染
3、同一时间动画执行的次数过多,导致CPU或GPU负载过重
4、View过度绘制,导致某些像素在同一帧时间内被绘制多次,从而使CPU或GPU负载过重
5、View频繁的触发measure、layout,导致measure、layout累计耗时过多及整个View频繁的重新渲染
6、内存频繁触发GC过多(同一帧中频繁创建内存),导致暂时阻塞渲染操作
7、冗余资源及逻辑等导致加载和执行缓慢
8、臭名昭著的ANR
以上就是安卓APP卡顿的常见原因,此外,作为开发人员为用户带去操作流畅丝滑的APP,是漫长职业生涯当中的终极目标
好了,文章基本上就到这里,Android 卡顿的原因已经分析完毕了!,如有地方不对或者有不同理解的可以提出来
有需要更多Android资讯的同学 可以 私信 发送 “进阶” 即可 免费获取
现在发送还可以获得 更多《Android 学习笔记+源码解析+面试视频》
最后我想说:
对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们
技术是无止境的,你需要对自己提交的每一行代码、使用的每一个工具负责,不断挖掘其底层原理,才能使自己的技术升华到更高的层面
Android 架构师之路还很漫长,与君共勉
本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com