// onWillScroll高频回调场景反例
@Entry
@Component
struct NegativeOfOnScroll {
private arr: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
count(): number {
let temp: number = 0;
for (let i = 0; i < 1000000; i++) {
temp += 1;
}
return temp;
}
build() {
Scroll() {
List() {
ForEach(this.arr, (item: number) => {
ListItem() {
Text('TextItem' + item)
}
.width('100%')
.height(100)
}, (item: number) => item.toString())
}
.divider({ strokeWidth: 3, color: Color.Gray })
}
.width('100%')
.height('100%')
.onWillScroll(() => {
hiTraceMeter.startTrace('ScrollSlide', 1001);
console.log('Scroll', 'TextItem');
this.count();
// 业务逻辑
hiTraceMeter.finishTrace('ScrollSlide', 1001);
})
}
}
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
onWillScroll中执行了太多的事情,无用的日志,track可以去掉,耗时操作也不要放进去。
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。