Fault time:2025/07/05-08:06:51
User input does not respond!
mainHandler dump is:
EventHandler dump begin curTime: 2025-07-05 08:06:51.671
Event runner (Thread name = , Thread ID = 29310) is running
Current Running: start at 2025-07-05 08:06:44.720, Event { send thread = 29310, send time = 2025-07-05 08:06:44.719, handle time = 2025-07-05 08:06:44.719, trigger time = 2025-07-05 08:06:44.719, task name = vSyncTask, caller = [event_queue.cpp(HandleFileDescriptorEvent:280)] }
History event queue information: Timestamp:2025-07-05 08:06:52:99 Tid:29310, Name:com.hx.example #00 pc 0000000000447434 /system/lib64/module/arkcompiler/stub.an(RTStub_CallGetter+320) #01 at anonymous (entry|common|1.0.0|src/main/ets/components/BillComponent.ts:370:1) #02 at updateFunc (/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/ace_engine/frameworks/bridge/declarative_frontend/engine/stateMgmt.js:9157:1) #03 at observeComponentCreation2 (/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/ace_engine/frameworks/bridge/declarative_frontend/engine/stateMgmt.js:9177:1) #04 at anonymous (entry|common|1.0.0|src/main/ets/components/BillComponent.ts:368:1) #05 at ifElseBranchUpdateFunction (/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/ace_engine/frameworks/bridge/declarative_frontend/engine/stateMgmt.js:4300:1) #06 at anonymous (entry|common|1.0.0|src/main/ets/components/BillComponent.ts:367:1) #07 at updateFunc (/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/ace_engine/frameworks/bridge/declarative_frontend/engine/stateMgmt.js:9157:1) #08 at observeComponentCreation2 (/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/ace_engine/frameworks/bridge/declarative_frontend/engine/stateMgmt.js:9177:1) #09 at anonymous (entry|common|1.0.0|src/main/ets/components/BillComponent.ts:337:1) #10 at ifElseBranchUpdateFunction (/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/ace_engine/frameworks/bridge/declarative_frontend/engine/stateMgmt.js:4300:1) #11 at anonymous (entry|common|1.0.0|src/main/ets/components/BillComponent.ts:280:1) #12 at updateFunc (/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/ace_engine/frameworks/bridge/declarative_frontend/engine/stateMgmt.js:9157:1) #13 at observeComponentCreation2 (/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/ace_engine/frameworks/bridge/declarative_frontend/engine/stateMgmt.js:9177:1) #14 at initialRender (entry|common|1.0.0|src/main/ets/components/BillComponent.ts:45:1)

使用懒加载优化长列表加载速度,参考文档长列表加载。
interface DataChangeListener {
onDataReloaded(): void;
onDataAdd(index: number): void;
onDataDelete(index: number): void;
onDataChange(index: number): void;
}
export class MyDataSource {
private _data: string[] = [];
private _listeners: DataChangeListener[] = [];
pushData(item: string): void {
this._data.push(item);
this._listeners.forEach(listener => {
listener.onDataAdd(this._data.length - 1);
});
}
getAllData(): string[] {
return this._data;
}
totalCount(): number {
return this._data.length;
}
getData(index: number): string {
return this._data[index];
}
registerDataChangeListener(listener: DataChangeListener): void {
this._listeners.push(listener);
}
unregisterDataChangeListener(listener: DataChangeListener): void {
const index = this._listeners.indexOf(listener);
if (index !== -1) {
this._listeners.splice(index, 1);
}
}
}
@Entry
@Component
struct MyComponent {
private data: MyDataSource = new MyDataSource();
aboutToAppear() {
for (let i = 0; i <= 100; i++) {
this.data.pushData(`Hello ${i}`);
}
}
build() {
List({ space: 3 }) {
LazyForEach(this.data, (item: string) => {
ListItem() {
Row() {
Text(item).fontSize(50)
.onAppear(() => {
console.info(`appear: ${item}`);
});
}.margin({ left: 10, right: 10 });
};
}, (item: string) => item);
}.cachedCount(5);
}
}