
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
@ohos.net.http 大概是 ArkTS 生态里被写得最多、也错得最多的一个模块。它表面上只有「建实例、填 options、发请求、destroy」四步,门槛低到几乎是每个新手第一个跑通的网络调用;但真正决定线上成败的几个语义,恰恰藏在文档最容易一扫而过的那几行里。
半模态(bindSheet)和 Navigation 是 HarmonyOS 应用里出场率最高的两个 UI 能力。但把它们放在一起用,很多人会撞上同一个现象:列表页弹出筛选面板,面板里点一个按钮 pushPath 跳到子页面,返回之后面板没了;再点"筛选",面板也弹不出来,好像 bindSheet 彻底失效了。
「子线程不能直接操作 UI」——这句话在 HarmonyOS 的技术社区里出现的频率,大概仅次于「@State 变化会触发刷新」。它是一句正确的结论,但在真实项目里,它常常被当成一个「知道了就能写对」的知识点。事实恰好相反:这句结论只解决了「要不要回主线程」的判断,完全没有回答「怎么回、回什么、回来之后怎么收尾」这三件真正会让代码写崩的事。
在鸿蒙开发者社区里,有两类问题几乎是"日经贴"级别的高频提问。第一类是"自定义组件之间怎么传值,@Prop、@Link、@ObjectLink 到底该用哪个";第二类是"我给 @State 装饰的 ArrayList 调了 add,数据明明加进去了,console.info 打印长度也变了,为什么列表 UI 一动不动"。
在鸿蒙开发者社区里,有两类问题几乎是"日经贴"级别的高频提问。第一类是"自定义组件之间怎么传值,@Prop、@Link、@ObjectLink 到底该用哪个";第二类是"我给 @State 装饰的 ArrayList 调了 add,数据明明加进去了,console.info 打印长度也变了,为什么列表 UI 一动不动"。
长列表几乎是每一款 HarmonyOS 应用都绕不开的性能战场:消息流、商品卡片流、订单列表、通讯录、搜索结果。只要数据量会突破三屏,技术方案里就一定会出现 LazyForEach 和 @Reusable。官方给出的两个关键词也没有错——懒加载负责"按需创建",把首次构建全部节点的耗时摊到滚动过程中;组件复用负责"重复使用",把滚动中反复创建、销毁节点的开销压到最低。
服务卡片(Form Kit)是 HarmonyOS 生态里少有的「入口级」能力。它不在你的应用进程里跑,却常年占着桌面首屏最贵的那块像素;用户不打开应用就能看到它,也因此对它的「活」有天然期待。于是在真实项目里,卡片需求单上出现频率最高的一类,就是「让它动起来」——刷新的时候转个圈、加载的时候呼吸一下、有新数据的时候跳一跳。
在华为开发者论坛,一个高频问题是「鸿蒙系统如何设置禁止休眠(熄屏)」。很多开发者第一反应是去找一个全局开关,希望自己的应用一启动,整台手机就永不熄屏。这种预期需要首先被纠正:第三方应用并没有能力真正接管系统的熄屏策略。
在华为开发者论坛,一个高频问题是「鸿蒙系统如何设置禁止休眠(熄屏)」。很多开发者第一反应是去找一个全局开关,希望自己的应用一启动,整台手机就永不熄屏。这种预期需要首先被纠正:第三方应用并没有能力真正接管系统的熄屏策略。
在 HarmonyOS 音频类应用里,读取本地 mp3 元信息是播放器、歌单、锁屏歌词的基石。社区高频问题是:用 media.createAVMetadataExtractor 读 rawfile 里的 mp3,duration 有值,但 title / artist / album 全空;换资源管理器里某个 mp3 又正常。本文从 ID3 tag、版本兼容、资源定位、fd 生







