美文网首页Android技术知识Android开发经验谈
一文带你读懂 Android 手机为何总是卡顿、死机?

一文带你读懂 Android 手机为何总是卡顿、死机?

作者: 程序老秃子 | 来源:发表于2022-07-05 16:42 被阅读0次

    导致手机慢的原因有哪些?

    现在有一种说法,也是一位开发者所说: “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 架构师之路还很漫长,与君共勉

    PS:有问题欢迎指正,可以在评论区留下你的建议和感受;

    欢迎大家点赞评论,觉得内容可以的话,可以转发分享一下

    相关文章

      网友评论

        本文标题:一文带你读懂 Android 手机为何总是卡顿、死机?

        本文链接:https://www.haomeiwen.com/subject/olusbrtx.html