当前位置:   article > 正文

安卓系统卡顿的解决方法_android 点击tp 系统卡顿

android 点击tp 系统卡顿

作为一个安卓的用户也是会有烦恼的,通常会遇到一系列的毛病,比如:手机经常会莫名其妙的变卡?点击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、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。另外还提供云真机测试能力,助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率。在云真机测试期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/818817
推荐阅读
相关标签
  

闽ICP备14008679号