diff --git a/ArkUI/Lazy_Loading_Optimizes_Performance/entry/src/main/ets/pages/Index.ets b/ArkUI/Lazy_Loading_Optimizes_Performance/entry/src/main/ets/pages/Index.ets index 8e2d24ad42693fc877d51bb7820f0a9da68fa135..bfb9190d4b26c6248dea78b6da3eddc37dde5389 100644 --- a/ArkUI/Lazy_Loading_Optimizes_Performance/entry/src/main/ets/pages/Index.ets +++ b/ArkUI/Lazy_Loading_Optimizes_Performance/entry/src/main/ets/pages/Index.ets @@ -1,10 +1,35 @@ +import { MyDataSource } from '../segment/segment1'; + @Entry @Component struct Index { @State message: string = 'Hello World'; + private data: MyDataSource = new MyDataSource(); build() { RelativeContainer() { + // [Start cached_count_list] + List() { + // ... + }.cachedCount(3) + // [End cached_count_list] + + // [Start Lazy_for_each] + LazyForEach(this.data, (lazyForEachItem: string) => { + ListItem() { + Row() { + Text(lazyForEachItem).fontSize(50) + }.margin({ left: 10, right: 10 }) + }.onAppear(() => { + // Record the number of times the component is created through onAppear + console.info("appear:" + lazyForEachItem) + }) + }, (item: string) => { + // Print the key value in the keyGenerator function + console.info("key:" + item) + return item; + }) + // [End Lazy_for_each] Text(this.message) .id('HelloWorld') .fontSize($r('app.float.page_text_font_size')) diff --git a/ArkUI/Lazy_Loading_Optimizes_Performance/entry/src/main/ets/segment/segment1.ets b/ArkUI/Lazy_Loading_Optimizes_Performance/entry/src/main/ets/segment/segment1.ets index f558239c7b5407fb4954b293b83fe81ff7319709..9e4d040a9985112dee42ca0a53190def24ef235a 100644 --- a/ArkUI/Lazy_Loading_Optimizes_Performance/entry/src/main/ets/segment/segment1.ets +++ b/ArkUI/Lazy_Loading_Optimizes_Performance/entry/src/main/ets/segment/segment1.ets @@ -9,7 +9,7 @@ interface DataChangeListener { } -class MyDataSource { +export class MyDataSource { private _data: string[] = []; private _listeners: DataChangeListener[] = [];