Lines Matching refs:Trace
5 当应用在运行时出现明显的延迟或不流畅的情况,会影响用户体验,开发者需要定位、分析、解决应用超长帧问题。本文先简单介绍应用流畅度评测指标,然后基于Trace数据,介绍超长帧问题分析思路,并结合案例实践…
7 本文主要是以Trace数据作为切入点进行分析,相应的工具可以使用SmartPerf Host或DevEco Stdio内置的Frame等。若开发者需要补充SmartPerf Host工具和Trace…
51 导致应用超长帧的原因非常多,可能是应用本身原因,可能是系统原因,也有可能是硬件层原因。不同卡顿原因在Trace中有不同表现,识别需要大量经验积累。
53 分析过程,主要是结合App主进程和RenderService渲染进程Trace数据,先排查系统、硬件是否异常,再分析应用本身原因。
56 2. 找到Trace中每一帧耗时部分,大致定位是App侧问题还是RS侧问题,并结合Trace标签,初步定位原因。
66 最终,根据卡顿原因,结合业务场景和API找出适合解决方案,并用Trace等数据验证优化结果。
72 以下图中长列表滑动丢帧场景为例,通过Trace信息,具体演示定位分析超长帧的过程。该案例以通过上述分析思路,排除系统侧原因,意在说明如何通过Trace,定位分析TS侧问题。
78 抓取Trace前,可以打开ArkUI的一些debug开关。这样会增加一些详细的trace信息,比如显示具体引起组件标脏的变量、增加布局相关的信息、展示布局过程中所有涉及的组件层级等等。打开的方式,是…
82 | param set persist.ace.debug.enabled 1 | 一些调试的Trace开关,包括状态变量更新的Trace |
83 | param set persist.ace.trace.enabled 1 | ArkUI全局的Trace开关 |
84 | param set persist.ace.trace.layout.enabled true | 节点树布局的详细过程的Trace |
85 | param set persist.ace.trace.build.enabled 1 | 属性设置Trace的开关 |
88 …ebug开关打开后,通过SmartPerf Host工具抓取场景Trace。对于案例场景,这里采用向上抛滑3次,再向下抛滑3次的方式,并控制操作时长在10s以内。开发者在抓取Trace时,应结合上…
92 通过SmartPerf Host工具打开应用Trace。选择收藏置顶,FrameTimeLine、App主进程和RanderService进程中的Actual Timeline,以及RenderSe…
104 针对示例场景是长列表抛滑,为了将实际操作的动作与Trace数据打点的时间相结合,以方便问题的分段与对照定位,开发者可以收藏置顶下面两个泳道:
115 逐帧查看Trace,定位到橙红色的超长帧149972。通过标签`H:Builder:BuildLazyItem [10]`可以直观判断,这一帧的主要耗时,在10号列表项的加载。由于10号列表项的创建…
216 使用更轻量的UI元素复用机制@Builder优化自定义组件`InteractiveButton`后,重新抓取Trace,再次通过标签`H:Builder:BuildLazyItem [10]`检索1…
238 文章还在长列表滑动场景中,大致实践该思路,通过实际分析演示,说明如何通过Trace,定位分析解决TS侧问题。