作为一个安卓的用户也是会有烦恼的,通常会遇到一系列的毛病,比如:手机经常会莫名其妙的变卡?点击app半天反应不过来?电话铃声响后却迟迟看不到电话界面?多个软件无缘无故的停止运行?这些都是安卓手机用户都会遇到的卡顿问题,碰到这些问题大部分用户第一时间会想到去清理内存,现在几乎任何一款手机卫士都具有一键清理内存的功能,但是对我来说这远远不够,因为真正出现这些问题的时候,很多人连手机桌面都进不去,何来的一键清理?别着急,这篇以两个角度为大家讲述安卓系统卡顿的解决方法。

 一、用户角度:

1.最暴力的解决办法——恢复出厂设置

大部分手机的恢复出厂设置,通常会将所有的文件、缓存、垃圾等 清除掉。恢复到系统原来出厂时候的系统的大小。

友情提示:恢复出厂设置之前,请做好备份哦!

2.系统更新

像MIU这种系统就会更新一些漏洞,优化一些参数等,这样会让系统运转速度变得更快。

3.ROOT手机

root也即是刷机,这步可用可不用,看自己对自己手机的掌控了,如果掌控的好的话可以root,把没必要的软件卸载了,不过这步一定要注意,千万不要把不该卸载的东西卸载了!

4.通过应用管家来解决该问题

应用管家可以隔离休眠应用,关闭后台程序,强力释放内存,保持高效运行,节省存储空间,禁止软件自启,优化资源占用。

5.游戏软件可分开下载及安装

喜欢的游戏软件,可以分开下载及安装。不玩的先卸载,不要占用手机内存,这样就能很好的利用手机内存了。

开发者角度:

1.过于复杂的布局

界面性能取决于 UI 渲染性能. 我们可以理解为 UI 渲染的整个过程是由 CPU 和 GPU 两个部分协同完成的。

其中, CPU 负责UI布局元素的 Measure, Layout, Draw 等相关运算执行. GPU 负责栅格化(rasterization), 将UI元素绘制到屏幕上。

如果我们的 UI 布局层次太深, 或是自定义控件的 onDraw 中有复杂运算, CPU 的相关运算就可能大于16ms, 导致卡顿。

解决方案: 我们需要借助 Hierarchy Viewer 这个工具来帮我们分析布局了. Hierarchy Viewer 不仅可以以图形化树状结构的形式展示出UI层级, 还对每个节点给出了三个小圆点, 以指示该元素 Measure, Layout, Draw 的耗时及性能。

2.过度的绘制

Overdraw: 用来描述一个像素在屏幕上多少次被重绘在一帧上.

通俗的说: 理想情况下, 每屏每帧上, 每个像素点应该只被绘制一次, 如果有多次绘制, 就是 Overdraw, 过度绘制了。 常见的就是:绘制了多重背景或者绘制了不可见的UI元素。

解决方案:

Android系统提供了可视化的方案来让我们很方便的查看overdraw的现象:

在”系统设置”–>”开发者选项”–>”调试GPU过度绘制”中开启调试:

此时界面可能会有五种颜色标识:

overdraw indicator

原色: 没有overdraw

蓝色: 1次overdraw

绿色: 2次overdraw

粉色: 3次overdraw

红色: 4次及4次以上的overdraw

3.UI线程的复杂运算

UI线程的复杂运算会造成UI无响应, 当然更多的是造成UI响应停滞, 卡顿。产生ANR已经是卡顿的极致了。

解决方案: 关于运算阻塞导致的卡顿的分析, 可以使用 友盟+U-APM这个工具

4 频繁的使用GC

简而言之, 就是执行 GC 操作的时候,任何线程的任何操作都会需要暂停,等待 GC 操作完成之后,其他操作才能够继续运行, 故而如果程序频繁 GC, 自然会导致界面卡顿。

导致频繁GC有两个原因:

内存抖动(Memory Churn), 即大量的对象被创建又在短时间内马上被释放。

瞬间产生大量的对象会严重占用 Young Generation 的内存区域, 当达到阀值, 剩余空间不够的时候, 也会触发 GC。即使每次分配的对象需要占用很少的内存,但是他们叠加在一起会增加 Heap 的压力, 从而触发更多的 GC。

解决方案:

一般来说瞬间大量产生对象一般是因为我们在代码的循环中 new 对象, 或是在 onDraw 中创建对象等。    还时尽量不要在循环中大量的使用局部变量。所以说这些地方是我们尤其需要注意的。

对于安卓App 产生卡顿的原因和场景,就算是“用心的程序员”也还是有许多局限的地方,想要解决卡顿问题,首先要知道一个整体情况,是局部,还是全局,这样在优化上才能有方向。这时借助工具来检测分析会让你事半功倍!

这里推荐友盟+u-apm应用性能监控平台,这款工具的卡顿分析功能可以帮助开发者快速定位app卡顿原因。

友盟+u-apm通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。另外还提供云真机测试能力,助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率。在云真机测试期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通。

安卓系统卡顿的解决方法相关推荐

  1. android8卡顿,Android 8.0系统曝光,解决了安卓系统卡顿的问题

    原标题:Android 8.0系统曝光,解决了安卓系统卡顿的问题 8.0拟于今年5月17-19日召开的2017年谷歌I/O大会上正式宣布,之前已经曝光了该系统的一些特性,例如开发代号为奥利奥(Oero ...

  2. 安卓手机USB无法共享、上网或卡顿的解决方法

    安卓手机USB无法共享.上网或卡顿的解决方法 参考文章: (1)安卓手机USB无法共享.上网或卡顿的解决方法 (2)https://www.cnblogs.com/tmdsleep/p/9190898 ...

  3. win10右键卡顿原因_win10系统点击鼠标右键出现卡顿的解决方法

    我们在使用电脑工作或者做其他事情的时候,如果电脑卡了会通过鼠标右键方式来刷新桌面.最近有Win10用户反映,在桌面上单击右键时,出现卡顿的情况,反应很慢.遇到这样的情况,我们应该怎么解决?现在小编就和 ...

  4. 逍遥安卓模拟器卡android,逍遥安卓模拟器卡顿如何解决

    逍遥安卓模拟器是一款功能非常全面,性能十分稳定的安卓模拟器软件.可以模拟现今比较流行的一些手机型号,不仅能够方便测试不同手机的流畅性.还能够兼容各类软件及硬件,市面上百分之九十九的游戏它都可以完美运行 ...

  5. win11间歇性卡顿怎么办 windows11间歇性卡顿的解决方法

    Win11间歇性卡顿怎么解决?现在很多用户都安装了Win11系统了,最近有用户反映,在使用Win11系统的时候经常会遇到间接性卡顿的情况,这个该如何解决呢?下面小编就为大家带来完美的解决方法介绍!更多 ...

  6. 计算机win7卡顿如何解决方法,win7电脑玩2D游戏经常发生卡顿六大解决方法

    最近有很多游戏玩家和小编说win7电脑玩2D游戏经常发生卡顿,游戏卡顿问题确实让玩家苦恼,因为导致2D游戏经常发生卡顿的原因有很多种,那么win7电脑玩2D游戏经常发生卡顿怎么办?不要着急,针对此问题 ...

  7. 雷电模拟器运行非常卡顿有效解决方法分享

    雷电模拟器运行非常卡顿有效解决方法分享.有用户在电脑上开启雷电模拟器来使用的时候,遇到了软件使用非常卡顿的情况.那么这样的软件卡顿问题要怎么去进行处理呢?接下来我们一起来看看以下的解决方法教学吧. 雷 ...

  8. app内嵌h5页面在ios手机端滑动卡顿的解决方法

    app内嵌h5页面在ios手机端滑动卡顿的解决方法 参考文章: (1)app内嵌h5页面在ios手机端滑动卡顿的解决方法 (2)https://www.cnblogs.com/1rookie/p/11 ...

  9. Win10蓝牙鼠标老是断连卡顿的解决方法

    Win10蓝牙鼠标老是断连卡顿的解决方法 参考文章: (1)Win10蓝牙鼠标老是断连卡顿的解决方法 (2)https://www.cnblogs.com/lzhu/p/11924163.html 备 ...

最新文章

  1. unity3d教程运行物理机制
  2. [译] RabbitMQ tutorials (3) ---- 'Pub/Sub' (Javascript)
  3. 《利用python进行数据分析》读书笔记--第十章 时间序列(二)
  4. java 登录session_JavaWeb Session详解
  5. bat 自动输入密码_三轴自动焊接,三轴搬运机械手示教系统简易说明,分秒学会...
  6. SpringBoot-Freemarker与SpringBoot集成
  7. android自定义View之自定义可置顶ScrollView,View滑动原理简析
  8. 数据处理-倾斜摄影OSGB合并根节点
  9. R语言使用median函数计算dataframe指定数据列的中位数
  10. HTML5验证表单内容是否为空
  11. 抖音如何推动音乐的流行?看完这篇文章你就明白了
  12. 【进阶指南】玉米田【状压DP】
  13. 传统编译器和DL编译器的调研和理解
  14. System.StackOverflowException
  15. 【抓包工具】配置:Fiddler 配置手机/平板抓包 https
  16. 【ACWing】587. 吃蛋糕
  17. python记时命令
  18. 论文阅读——个性化实体推荐: 一种异构信息网络方法
  19. 如何安装Python虚拟环境
  20. 关于vim gf问题

热门文章

  1. JVM调优和参数配置
  2. 「3点钟区块链」连接资本创始人林嘉鹏:区块链商业变现的关键在于流量
  3. 论打造用户体验和数值系统,你得看看游戏类产品
  4. 0Ω电阻在PCB板中的5大常见作用
  5. Nginx日志文件清理
  6. 计算机管理工具服务打不开,win7的管理工具设备打不开了的具体解决办法
  7. 私有云---openstack
  8. sqlserver里,case when和cast函数一起使用
  9. Linux系统RPM命令相关使用--离线安装很有用
  10. 多线程与高并发-volatile与CAS