diff --git a/.gitee/CODEOWNERS b/.gitee/CODEOWNERS index 13e14c96177c650d7f046225ecb45fc8b6d2875a..46d2c108b42544c91fe523ca2fc49f6ae27a01bb 100644 --- a/.gitee/CODEOWNERS +++ b/.gitee/CODEOWNERS @@ -3040,6 +3040,11 @@ interfaces/inner_api/xcomponent_controller/ @arkuilayout interfaces/inner_api/ace_kit/include/ @arkui_architecture interfaces/inner_api/ace_kit/src/ @arkuiframework +[Arkoala] +frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/LazyForEachImpl.ts @zhoutianer +frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/LazyItemNode.ts @zhoutianer +frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts @liubihao + [NAPI Interfaces] interfaces/napi/kits/animator/ @arkui_superman interfaces/napi/kits/atomic_service_bar/ @arkuievent diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/LazyForEachImpl.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/LazyForEachImpl.ts index 3f56424c4ad4fe45fa5501566462527dbbc0b8aa..b5dfb987ab190c98f81a28fbd74789345255cb4a 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/LazyForEachImpl.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/LazyForEachImpl.ts @@ -25,10 +25,20 @@ import { LazyItemNode } from "./LazyItemNode" import { ArkUIAniModule } from "../ani/arkts/ArkUIAniModule" import { CustomComponent } from "@component_handwritten/customComponent" -let globalLazyItems: Set> = new Set>() +let globalLazyItems = new Map, int32>() // V: age + export function updateLazyItems() { - for (let node of globalLazyItems) { - node.value + let postponed = false + globalLazyItems.forEach((age, node, map) => { + if (age === 0) { + postponed = true + map.set(node, 1) + } else { + node.value + } + }) + if (postponed) { + } } @@ -174,7 +184,7 @@ class LazyItemPool implements Disposable { ) this._activeItems.set(index, node) - globalLazyItems.add(node) + globalLazyItems.set(node, 0) return node.value.getPeerPtr() }