美文网首页
应用卡顿问题分析

应用卡顿问题分析

作者: leo567 | 来源:发表于2020-03-09 15:11 被阅读0次

1.应用卡顿原理分析

  • 卡顿问题的表现   
    启动卡顿:启动白屏和启动动画卡顿
    运行卡顿:点击相应慢,列表滑动卡,动画卡顿
  • 原理
    绘制的过程中序列帧不流畅,本质是单位时间片内无法完成绘制工作
    优化方向:
    1.提高单位时间片内任务处理能力
    2.减少单位时间片内的工作量

surfaceView线程和主线程在不同windows(surface)上绘制;textureView线程和主线程在同一个windows(surface)上绘制,但是不能同时绘制,主线程activity绘制时textureView线程阻塞,textureView线程绘制时主线程绘制阻塞。窗口小部件可以用textureView实现。

2.卡顿问题优化分析

  • 逐步排除分析
    LOG分析
    1)LOG打印太频繁,logd服务可能会占用大量的cpu时间(IO把log写入文件),导致应用卡顿。
    2)LOG中是否有频繁GC操作,虚拟机执行GC回收内存时,会直接暂停进程执行,座椅频繁的GC操作会导致应用概率性卡顿。
    命令分析
    1)'adb shell top' : 查看cpu占用状态,是否有进程占用大量cpu时间,导致主线程无法执行,引起卡顿。
    2)'adb shell dumpsys SurfaceFlinger' : 查看刷新率(refresh-rate)是否正常。查看叠加层信息,是否有多余层。
    3)'dumpsys gfxinfo packagename' : 硬件加速是否开启,硬件缓存大小。
    工具分析
  • 常用的分析工具:
    1)HierarchyViewer : 布局查看器(查看布局层次和view的数量是否过多)
    2)SysTrace :分析系统服务工作状态是否正常
    3)TraceView:查看每个线程每个方法的耗时情况

4.TraceView ( profiler 替代)
安卓平台的一个性能分析工具,可以图形化的跟踪程序性能,并且能具体到method。traceview是一个数据分析工具,而数据采集则需要使用android sdk的debug类(代码中Debug.startMethodTracing() 然后Debug.stopMethodTracing)或者利用ddms工具。

5.常用优化方向
1)布局优化: 减少布局层次;动态载入,只在需要时载入
2)内存优化: 避免内存抖动,减少GC影响
3)UI线程优化: 数据库异步操作; 数据加载缓存
4)绘制优化: 硬件加速; 减少Layer层数; 避免过度绘制,ALPHA叠加

相关文章

  • 应用卡顿问题分析

    1.应用卡顿原理分析 卡顿问题的表现启动卡顿:启动白屏和启动动画卡顿运行卡顿:点击相应慢,列表滑动卡,动画卡顿 原...

  • 应用卡顿优化

    概要 应用运行时的卡顿问题非常影响用户体验,严重降低产品表现力,本文将介绍应用卡顿原因以及分析方法等等。 卡顿问题...

  • 性能优化

    1 卡顿分析 systrace ,系统层面。2 卡顿分析 studio cpu profile ,应用层面。3 s...

  • Android锁屏下启动应用卡屏5秒的原因分析

    Android锁屏下启动应用卡屏5秒的原因分析 最近分析一个问题,在锁屏窗口中启动应用会出现卡顿5秒,比如拨打电话...

  • 卡顿问题分析

    这几天在把几个副本活动从之前的本服转化到跨服,需要对一些代码的改动。由于这几个之前不是我写的,然后大概看了下其中一...

  • 性能优化工具之TraceView

    1、TraceView工具能做什么? 从代码层面分析性能问题,针对每个方法来分析,比如当我们发现我们的应用出现卡顿...

  • 深入卡顿优化

    前言 我们经常会遇到卡顿问题 而且卡顿问题往往很难解决与复现 非常的依赖卡顿现场 所以我们来深入分析一下卡顿优化 ...

  • Android卡顿优化 | 卡顿及其优化工具概述及StrictM

    项目GitHub 本文要点一般使用的卡顿优化工具卡顿问题概述卡顿问题分析难点关于CPU Profiler关于Sys...

  • Android杂谈:systrace简单查看一个应用的启动流程

    systrace是用来查看应用和系统运行状态的工具,利用他可以分析一些性能问题。例如查看应用是否卡顿,卡在那个方法...

  • 无标题文章

    APP性能优化 UI卡顿优化 View的绘制原理 UI卡顿原理分析 UI卡顿检测分析 BlockCanary原理分...

网友评论

      本文标题:应用卡顿问题分析

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