登录社区云,与社区用户共同成长
邀请您加入社区
本文介绍如何利用APMS与OperationAnalyzer平台高效定位并解决DMA资源泄漏问题。通过配置告警规则、分析证据链与线程调用栈,结合现场数据与符号表还原,实现从趋势发现到根因定位的闭环排查。开发者可在DevEco Studio中直接使用OperationAnalyzer进行代码级定位与修复,显著提升故障响应效率,保障系统稳定性。
周五晚上八点,版本即将发布。测试同学发来一条消息——线上用户反馈应用卡顿严重,伴随偶现闪退,怀疑是资源问题。打开APMS平台查看数据,线程数量曲线持续攀升,从正常的几十条涨到上千条,且没有回落迹象。泄漏的线程是谁创建的?为什么没有退出?根因是什么?如果靠翻日志、加日志、再复现,可能一轮排查下来,发布时间窗口已经错过。偶现的线程泄漏甚至可能在实验室环境里永远无法稳定复现。这些问题的共同点在于——答案
你有没有遇到过这样的场景:App 用着用着就闪退了,日志里赫然写着"内存超限"——可你明明没有写什么大内存操作,内存到底去哪儿了?就像家里的水表每天都在转,但你找不到漏水点一样,NativeHeap 内存泄漏就是那个"看不见的漏水龙头"。NativeHeap 是 C/C++ 原生代码通过 malloc、new 等方式动态申请的物理内存。当这些内存申请了却忘记释放,或者缓存策略设计不合理导致越积越多
需求HTTP 轮询WebSocketMQTT千级设备❌ 每秒千次请求⚠️ 需自建路由✅ 主题订阅可靠性分级❌❌掉线检测❌❌ 手写心跳✅ 遗嘱机制一对多下发❌⚠️ 手写分发✅ 通配符主题离线消息❌❌✅ retained + 会话保持报文开销大中✅ 极小。
本文介绍在HarmonyOS/ArkTS开发中添加作者信息的三种常用方式:使用@author注释标签,适用于文件或函数级作者标识,利于生成文档;通过DevEcoStudio文件模板自动注入作者信息,实现新建文件时的规范统一;区分注解(Annotation)与注释,强调作者信息通常用注释即可,仅在需运行时读取时才使用自定义注解。推荐根据场景选择合适方式,提升代码可维护性与规范性。
本原创文章帖发布在应用启动时延是影响用户体验的关键要素,是指从用户点击桌面应用图标、通知或其他入口启动应用,到应用界面内容成功加载并显示在屏幕上的时间间隔。应用启动可分为冷启动、热启动和温启动三种类型:• 冷启动是指应用启动时,后台不存在该应用进程,系统需为其创建新进程。完整的冷启动过程,指从用户点击桌面图标开始,至应用首页首帧渲染完成、数据完全展示。• 热启动是指当应用已在后台运行且进程驻留在内
GPU内核泄漏是常见的泄漏类型,也是应用稳定性优化的重点方向。本文档主要介绍在运维态下通过APMS平台进行GPU内核泄漏的监控、分析、定位与修复的完整处理方法。
FD(全称:File Descriptor,文件描述符)资源泄漏是一种比较常见的泄漏类型,也是应用稳定性优化的重要问题。本文档主要介绍在运维态下如何通过应用质量管理(APMS平台进行FD资源泄漏的监控、分析、定位与修复整套处理方法。
文章摘要: 本文探讨了巡检系统中地图长按事件的精准记录机制,强调区分Marker与POI两种不同来源的坐标数据。Marker代表页面添加的可追溯标记,POI反映底图兴趣点,两者虽都能生成工单草稿,但业务含义不同。通过定义结构化事件模型(含来源、坐标、时间戳等字段)并独立统计操作次数,确保数据可解释性。技术实现上,需分别监听Marker与POI的长按事件,保留原始字段,避免混淆人工登记与真实地图回调
HWASAN(Hardware-Assisted Address Sanitizer,硬件辅助地址消毒器)是 Clang 开源社区推出的一种内存检测工具,主要用于开发态的内存问题检测。它利用 ARMv8.5 及以上芯片的 MTE(Memory Tagging Extension)硬件特性,在内存访问时通过 tag 比对快速发现踩内存问题。注意:HWASAN 定位为开发态检测工具,不建议在发布版本中
在此之前,鸿蒙已经提供了 Allocation 模板(分析堆内存分配与释放)、Snapshot 快照对比(定位 ArkTS 内存问题)等工具,但始终缺少专门针对跨语言边界内存泄漏的定位手段。Local Handle/Global Handle 能力的出现,补齐了这一关键拼图,形成了覆盖“ArkTS 侧 → 跨语言边界 → Native 侧”的全链路内存调优体系。
它们不需要用户继续处理,只要给一个短反馈就够了。但表单错误、网络失败、权限拒绝,如果也只靠 Toast,就很容易出问题。用户没看到提示,下一步还是不知道该怎么改。Toast 适合轻提示,不适合承载关键错误。HarmonyOS7 页面里,把反馈按严重程度分层:轻的用 Toast,需要修正的留在字段旁,阻断流程的留在页面上。用户知道发生了什么,也知道下一步该怎么做。
创建 LLM 可在 DevEco Code 中调用的工具。自定义工具是你创建的函数,LLM 可以在对话过程中调用它们。它们与 deveco 的内置工具(如readwrite和bash)协同工作。
本文介绍了MeCharts应用首页的设计与实现,主要包含以下内容: 整体结构:首页采用顶部导航栏+可滚动内容区布局,内容区包含轮播图和分类网格。 数据模型:使用统一的AbcModel数据模型管理量表入口,通过@Observed装饰器实现数据变化自动刷新UI。 轮播组件:介绍了UISwiper和原生Swiper两种实现方式,包括自动播放、循环等关键属性配置。 网格布局:使用Grid组件展示量表分类入
参数类型定义:为每个页面的参数定义明确的 interface,放在公共模块中可选字段标记:非必需参数使用?标记为可选,接收方提供默认值空值兜底:始终使用??操作符为每个字段提供安全的默认值深拷贝保护:在路由模块中统一进行参数的深拷贝,防止引用共享日志记录:记录关键页面的参数接收情况,便于排查问题参数最小化:只传递目标页面真正需要的数据,避免传递整个对象图页面参数传递从简单的字符串发展到结构化对象,