国外主题网站建设公司排名

张小明 2025/12/31 17:46:58
国外主题网站,建设公司排名,手机网站建设需求分析,合网站 - 百度【前言】 在某些功能场景#xff0c;比如实现一个本地搜索功能时#xff0c;可能需要支持中文搜索#xff0c;同时支持拼音搜索。这里就会涉及到两个功能点#xff0c;一个是中文转拼音#xff0c;一个是将中文进行分词。同时这里有个注意点如果调用系统接口进行批量分词…【前言】在某些功能场景比如实现一个本地搜索功能时可能需要支持中文搜索同时支持拼音搜索。这里就会涉及到两个功能点一个是中文转拼音一个是将中文进行分词。同时这里有个注意点如果调用系统接口进行批量分词时使用不当会导致UI卡顿。下面介绍下在鸿蒙next系统中怎么实现这两个功能以及怎么避免UI卡顿1、中文转拼音在系统接口中有个i18n的工具类该工具类提供了一个Transliterator工具类可以实现中文转拼音能力代码如下其中res1是包含声调的res2是不包含声调的let res1:string i18n.Transliterator.getInstance(Han-Latin).transform(中国) let res2:string i18n.Transliterator.getInstance(Latin-ASCII).transform(res1)2、分词在做功能搜索功能时会将功能名称分词出不同的词语来适配用户的搜索。这里系统提供了一个 分词功能textProcessing是系统分词的一个工具类代码如下代码将“词语搜索”四个字分词层“词语”和“搜索”两个词textProcessing.getWordSegment(词语搜索).then(wordSegments { let words wordSegments.map(wordSegment wordSegment.word) console.log(词语搜索 ${JSON.stringify(words)}) })3、分词的注意点这里要注意一点如果使用不当可能会造成UI界面的卡顿。在调用系统分词接口时实际是跨进程调用系统能力。如果我们一次性循环调用很多次分词接口由于系统的分词进程最大开两个线程处理分词。因此我们如果循环大量调用接口会导致我们app一直处于等待状态而且会影响UI的正常展示。这种阻塞即使我们在app中启动子线程去调用系统接口也没法起到效果。因为实际上我们跨进程调用分词接口时本身会启动一个子线程去调用真正造成UI卡顿的原因是我们循环大批量开启跨进程调用会导致app的线程资源耗尽导致我们app其他线程无法正常获取线程资源。比如会影响网络请求我们很多UI的展示依赖网络请求的返回值由于线程资源耗尽网络请求只能等待。从而影响UI正常展示。解决方法就是我们可以分批次调用系统接口比如每批次调用4次等到前面的处理完成后再继续下一批次调用。完整的代码实现如下这里首先在app子线程去做分词功能并在子线程中分批次调用。我们最终在app启动时调用SegmentUtil.segment();方法实现批量分词效果// 分词工具类开启子线程执行 import { textProcessing } from kit.NaturalLanguageKit import { PromiseBatchUtils } from ./PromiseBatchUtils import { taskpool } from kit.ArkTS export class SegmentUtil { public static async segment() { let segmentResult await taskpool.execute(segments) as Promisestring[][] console.log(segmentResult is ${JSON.stringify(segmentResult)}) } } Concurrent async function segments():Promisestring[][] { let arr:string[] [词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索] let arrPromise:(()Promisestring[])[] arr.map(str async () { let wordSegments await textProcessing.getWordSegment(词语搜索) return wordSegments.map(wordSegment wordSegment.word) }) let result await PromiseBatchUtils.runWithBatch(arrPromise, 4) return result } // 分批次调用系统分词 export class PromiseBatchUtils { public static async runWithBatchT(tasks:(() PromiseT)[], batchNum:number):PromiseT[] { let results:T[] [] let execute:Promisevoid[] [] let index 0 while (index tasks.length) { if (execute.length batchNum) { let taskIndex index console.log(start index ${taskIndex}) let executePromise tasks[taskIndex]() .then(result { results[taskIndex] result console.log(end index ${taskIndex}) }).finally(() { let executeIndex execute.indexOf(executePromise) if (executeIndex -1) { execute.splice(executeIndex,1) } }) execute.push(executePromise) } else { await Promise.race(execute) } } await Promise.all(execute) return results } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

html和php做网站哪个好那个网站做境外自由行便宜

Excalidraw多人实时协作机制原理解析 在远程协作日益成为常态的今天,一个看似简单的“白板”工具,往往能决定一场头脑风暴是高效推进还是陷入混乱。当团队成员分散在全球各地,如何让每个人都能在同一块画布上自由表达、即时反馈?…

张小明 2025/12/29 0:58:12 网站建设

西安网站建设l西安搜推宝网络网站开发属于

习惯追踪革命:为什么Loop Habit Tracker能让你轻松养成好习惯 【免费下载链接】uhabits Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits 项目地址: https://gitcode.com/gh_mirrors/uh/uhabits 你是否也曾立下fl…

张小明 2025/12/29 0:57:37 网站建设

群辉怎么做网站中国建设企业协会网站首页

在快节奏的现代社会,我们似乎总在追赶——追赶工作的截止日期,追赶生活的既定目标,追赶他人的脚步,却唯独忘了追赶那个被忽略、被消耗的自己。当疲惫累积成难以消散的倦怠,当焦虑缠绕成解不开的枷锁,当身体…

张小明 2025/12/29 0:57:04 网站建设

邯郸市住房和城乡建设网站小程序自己开发

U校园智能刷课神器:5分钟配置全自动学习方案 【免费下载链接】AutoUnipus U校园脚本,支持全自动答题,百分百正确 2024最新版 项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus 还在为繁琐的U校园网课作业而烦恼吗?这款革命性的Python工具…

张小明 2025/12/31 14:34:55 网站建设

自己可以做网站服务器无人区高清免费看完整版

MediaMux是一款基于FFmpeg的Windows视频处理工具,它集成了专业的视频处理功能,同时提供了简单易用的图形界面。无论是视频格式转换、音频提取、字幕添加还是批量处理,MediaMux都能为用户提供高效可靠的解决方案。 【免费下载链接】MediaMux A…

张小明 2025/12/29 0:55:54 网站建设

上海网站建设推广湖北城市建设职业技术学院网站

终极代码质量检查:TscanCode如何帮助团队提升开发效率的完整指南 【免费下载链接】TscanCode TscanCode: 腾讯开源的一款面向C/C、C#和Lua代码的快速准确的静态分析工具,旨在帮助程序员从一开始就发现代码缺陷。 项目地址: https://gitcode.com/gh_mir…

张小明 2025/12/29 0:55:19 网站建设