首页LazyForEach predict耗时久分析

在首页慢滑动有卡顿现象,通过IDE Profile抓取Fram分析,发现有很多异常帧。其中有几帧LazyForEach predict耗时比较久,在这一帧中存在大量aboutToDisappear、aboutToBeDeleted等调用,需要分耗时原因和性能优化点。异常帧如下:

首页LazyForEach predict耗时久分析-鸿蒙开发者社区


HarmonyOS
2024-05-28 22:35:46
浏览
已于2024-5-30 00:01:02修改
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
koarla

1.一帧中出现大量aboutToDisappear、aboutToBeDeleted,说明这一帧里有大量自定义组件析构。当一个父组件析构时,这个父组件的子组件也都会走析构,当一个嵌套复杂的自定义组件析构时就会出现大量的aboutToDisappear、aboutToBeDeleted。

2. 分析首页页面布局,主要是一个长列表,通过LazyForEach加载,每个子组件就是一个博文组件,博文组件内部通过一个Builder函数区别是文本博文,图片博文,还是视频博文。

3.通过首页布局分析,List的每一个Item实际上是加了@Resuable。预期在滑动过程中,应该是不会有组件析构,组件在滑出屏幕即将要析构的时候,只会进入复用池。但是如果自定义组件内部有逻辑控制分支,当切换分支时else里面的自定义组件也是会正常析构。于是优化方向为在逻辑分支对应被删掉的自定义组件加上也加上@Reusable,适当以空间换性能。

分享
微博
QQ
微信
回复
2024-05-29 23:45:01
相关问题
"NAPI通信耗时长"导致丢帧分析
649浏览 • 1回复 待解决
HarmonyOS LazyForEach
254浏览 • 1回复 待解决
JsCreateAVPlayer耗时较长
1577浏览 • 1回复 待解决
HarmonyOS 首页框架问题
252浏览 • 1回复 待解决
HarmonyOS 应用首页技术选型问题
218浏览 • 1回复 待解决
list 如何使用 lazyforeach
209浏览 • 1回复 待解决
HarmonyOS 消息首页框架实现
208浏览 • 1回复 待解决
LazyForEach如何添加数据?
1927浏览 • 1回复 待解决
HarmonyOS swiper + LazyForEach使用问题
209浏览 • 1回复 待解决
HarmonyOS 首页下拉刷新异常
177浏览 • 1回复 待解决
Xcomponent绘图流程分析
1249浏览 • 1回复 待解决
LazyForEach的使用限制有哪些?
388浏览 • 1回复 待解决
ListItemGroup 和lazyforeach如何结合使用
577浏览 • 1回复 待解决
HarmonyOS lazyForeach嵌套视图问题
156浏览 • 1回复 待解决
ListItemGroup 和Lazyforeach结合场景
887浏览 • 1回复 待解决