
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在前两篇文章里,我们完成了从零到一:第一篇打通了移动端与眼镜端的消息通道,第二篇在眼镜上展示了天气卡片并加入了 TTS 语音播报。但还有三个短板没有解决:说话要带城市名(不能说「这里天气」)、每次都是全新查询(没有上下文记忆)、播完天气就结束了(没有进一步建议)。本篇解决这三件事,同时也是整个系列的收官实战篇。🙏。
callback.onError("API返回错误: ${weatherResponse.info} (${weatherResponse.infocode})")updates.put(createUpdateAction(ViewIds.TV_HUMIDITY, "text", "湿度: ${it.humidity}%"))updates.put(createUpdateAction(View
没了。如果您有任何疑问、对文章写的不满意、发现错误或者有更好的方法,如果你想支持下一期请务必~,欢迎在评论、私信🙏。
鸿蒙项目里 oh-package.json5 的角色类似于前端的 package.json,但它分成了工程级和模块级两份文件,各自承担不同的职责。这篇文章基于 OHPM 5.0+ 的实际项目配置,把每个字段的设计意图和使用场景讲清楚。
鸿蒙项目里 oh-package.json5 的角色类似于前端的 package.json,但它分成了工程级和模块级两份文件,各自承担不同的职责。这篇文章基于 OHPM 5.0+ 的实际项目配置,把每个字段的设计意图和使用场景讲清楚。
ImageKnifePro 利用 HarmonyOS 的 FFRT 框架优化线程调度,通过三条并发队列(任务队列、API队列、主线程队列)实现灵活线程复用。采用四级优先级队列管理任务,确保占位图优先加载。通过两阶段请求合并(加载阶段和解码阶段)减少重复请求,提升效率。关键设计 Detach 机制在网络 I/O 阶段释放线程资源,避免阻塞等待,显著提升并发性能。
鸿蒙系统的Image组件支持加载网络和本地图片,但四个短板在业务复杂度上升后依次暴露:没有二级缓存控制,冷启动重复拉取网络图片;没有占位图和错误图的切换机制,列表滑动时白屏闪烁;图片变换(模糊、裁剪等)需要手动操作 PixelMap;组件销毁后请求仍在飞,复用场景旧图残留。ImageKnifePro 针对这些问题,把整个加载引擎下沉到 C++ 层,用拦截器责任链驱动缓存、加载、解码、渲染的全流程。
鸿蒙系统的Image组件支持加载网络和本地图片,但四个短板在业务复杂度上升后依次暴露:没有二级缓存控制,冷启动重复拉取网络图片;没有占位图和错误图的切换机制,列表滑动时白屏闪烁;图片变换(模糊、裁剪等)需要手动操作 PixelMap;组件销毁后请求仍在飞,复用场景旧图残留。ImageKnifePro 针对这些问题,把整个加载引擎下沉到 C++ 层,用拦截器责任链驱动缓存、加载、解码、渲染的全流程。
在前两篇文章里,我们完成了从零到一:第一篇打通了移动端与眼镜端的消息通道,第二篇在眼镜上展示了天气卡片并加入了 TTS 语音播报。但还有三个短板没有解决:说话要带城市名(不能说「这里天气」)、每次都是全新查询(没有上下文记忆)、播完天气就结束了(没有进一步建议)。本篇解决这三件事,同时也是整个系列的收官实战篇。🙏。
callback.onError("API返回错误: ${weatherResponse.info} (${weatherResponse.infocode})")updates.put(createUpdateAction(ViewIds.TV_HUMIDITY, "text", "湿度: ${it.humidity}%"))updates.put(createUpdateAction(View







