From bbd86aecbbedddef850626dbcf395c8bba0e61a9 Mon Sep 17 00:00:00 2001 From: Ryan <865833921@qq.com> Date: Wed, 6 Nov 2024 16:51:49 +0800 Subject: [PATCH] =?UTF-8?q?readme=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 30 +++++++++---------- entry/src/main/ets/pages/ForEachListPage.ets | 2 +- .../main/ets/pages/LazyForEachListPage.ets | 2 +- entry/src/main/module.json5 | 4 +-- .../main/resources/zh_CN/element/string.json | 2 +- 5 files changed, 19 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 18576b4..aa90de6 100644 --- a/README.md +++ b/README.md @@ -11,34 +11,34 @@ 1.启动应用后,在DevEco Studio启动Profiler中的Frame用来记录应用在ForEach和LazyForEach的丢帧率等数据; -2.分别点击【ForEach】和【LazyForEach】后,分别记录完全显示所用时间; +2.分别点击【ForEach】和【LazyForEach】后,分别记录完全显示所用时间。完全显示所用时间可以通过Launch进行录制分析,详情操作可以参考[Launch分析](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-insight-session-launch-V5)。 -3.分别点击【ForEach】和【LazyForEach】后,分别记录滑动的丢帧率。 +3.分别点击【ForEach】和【LazyForEach】后,分别记录滑动的丢帧率。滑动丢帧可以通过Frame进行录制分析,详情操作可以参考[Frame分析](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-insight-session-frame-V5)。 -4.为方便对比实验,本Sample在src/main/resources/rawfile中提供了不同大小的数据文件。 +4.为方便对比实验,本Sample在src/main/resources/rawfile中提供了不同大小的数据文件。开发者可以在getArticleModelObjFromJSON方法中更换数据文件来对比不同数据量下ForEach和LazyForEach的性能。 ### 工程目录 ``` ├──entry/src/main/ets/ │ ├──components -│ │ ├──ArticleCardView.ets -│ │ └──ReusableArticleCardView.ets +│ │ ├──ArticleCardView.ets // 文章列表项组件 +│ │ └──ReusableArticleCardView.ets // 可复用文章列表项组件 │ ├──constants -│ │ └──Constants.ets +│ │ └──Constants.ets // 公共常量类 │ ├──entryability -│ │ └──EntryAbility.ets +│ │ └──EntryAbility.ets // 程序入口类 │ ├──model -│ │ ├──ArticleListData.ets -│ │ └──LearningResource.ets +│ │ ├──ArticleListData.ets // 列表的DataSource +│ │ └──LearningResource.ets // 列表数据类 │ ├──pages -│ │ ├──ForEachListPage.ets -│ │ ├──Index.ets -│ │ └──LazyForEachListPage.ets +│ │ ├──ForEachListPage.ets // ForEach列表页面 +│ │ ├──Index.ets // 首页页面 +│ │ └──LazyForEachListPage.ets // LazyForEach列表页面 │ └──utils -│ ├──Logger.ets -│ └──ObservedArray.ets -└──entry/src/main/resources +│ ├──Logger.ets // 日志工具类 +│ └──ObservedArray.ets // 数组工具类 +└──entry/src/main/resources ``` ### 具体实现 diff --git a/entry/src/main/ets/pages/ForEachListPage.ets b/entry/src/main/ets/pages/ForEachListPage.ets index 05e8f2b..2c2e7e0 100644 --- a/entry/src/main/ets/pages/ForEachListPage.ets +++ b/entry/src/main/ets/pages/ForEachListPage.ets @@ -23,7 +23,7 @@ function bufferToString(buffer: ArrayBufferLike): string { let textDecoder = util.TextDecoder.create('utf-8', { ignoreBOM: true }); - let resultPut = textDecoder.decodeWithStream(new Uint8Array(buffer), { + let resultPut = textDecoder.decodeToString(new Uint8Array(buffer), { stream: true }); return resultPut; diff --git a/entry/src/main/ets/pages/LazyForEachListPage.ets b/entry/src/main/ets/pages/LazyForEachListPage.ets index 6b0f8b6..d5dcac6 100644 --- a/entry/src/main/ets/pages/LazyForEachListPage.ets +++ b/entry/src/main/ets/pages/LazyForEachListPage.ets @@ -25,7 +25,7 @@ function bufferToString(buffer: ArrayBufferLike): string { let textDecoder = util.TextDecoder.create('utf-8', { ignoreBOM: true }); - let resultPut = textDecoder.decodeWithStream(new Uint8Array(buffer), { + let resultPut = textDecoder.decodeToString(new Uint8Array(buffer), { stream: true }); return resultPut; diff --git a/entry/src/main/module.json5 b/entry/src/main/module.json5 index 8c8c6b1..523ade2 100644 --- a/entry/src/main/module.json5 +++ b/entry/src/main/module.json5 @@ -5,9 +5,7 @@ "description": "$string:module_desc", "mainElement": "EntryAbility", "deviceTypes": [ - "phone", - "tablet", - "2in1" + "phone" ], "deliveryWithInstall": true, "installationFree": false, diff --git a/entry/src/main/resources/zh_CN/element/string.json b/entry/src/main/resources/zh_CN/element/string.json index 1db9d9e..6cb46e4 100644 --- a/entry/src/main/resources/zh_CN/element/string.json +++ b/entry/src/main/resources/zh_CN/element/string.json @@ -10,7 +10,7 @@ }, { "name": "EntryAbility_label", - "value": "ListOptimization" + "value": "长列表性能对比" }, { "name": "foreach", -- Gitee