首页LazyForEach predict耗时久分析

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

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


HarmonyOS
2024-05-28 22:35:46
1.0w浏览
已于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通信耗时长"导致丢帧分析
2040浏览 • 1回复 待解决
HarmonyOS LazyForEach
1066浏览 • 1回复 待解决
JsCreateAVPlayer耗时较长
2599浏览 • 1回复 待解决
HarmonyOS 首页框架问题
1306浏览 • 1回复 待解决
HarmonyOS 消息首页框架实现
1328浏览 • 1回复 待解决
HarmonyOS 编译期耗时问题
1322浏览 • 1回复 待解决
HarmonyOS webview加载很耗时
986浏览 • 1回复 待解决
list 如何使用 lazyforeach
1211浏览 • 1回复 待解决
HarmonyOS lazyforEach渲染问题
934浏览 • 1回复 待解决
HarmonyOS lazyForEach相关范例
1198浏览 • 1回复 待解决
HarmonyOS 首页轮播效果实现
941浏览 • 1回复 待解决
HarmonyOS 应用首页技术选型问题
1469浏览 • 1回复 待解决
HarmonyOS 在entry里替换首页
1128浏览 • 1回复 待解决
HarmonyOS 首页下拉刷新异常
1310浏览 • 1回复 待解决
恭喜您,今日已阅读两篇内容,特奖励+2声望, 快来领取吧。