登录社区云,与社区用户共同成长
邀请您加入社区
稳定性问题是影响应用可用性和用户体验的核心因素。对终端用户来说,崩溃、卡死、内存异常和资源泄漏往往都会直接表现为页面退出、交互失效、性能恶化或长时间运行后的异常行为。对研发团队来说,稳定性问题不仅影响问题单量和版本质量,也会影响应用评分、留存和关键业务指标。 1. 为什么要先做稳定性分类 稳定性问题一旦发生,通常无法依靠用户自行恢复,往往需要重启应用,严重时还会导致数据丢失、功能中断或页面长时间不
本文档对典型稳定性问题进行匿名化整理,重点说明故障现象、归类方式、分析路径和修复思路。 1. 应用异常退出案例 案例 1:实例销毁后异步回调继续执行导致 SIGSEGV 现象 应用在页面切换或实例销毁后偶现闪退。FaultLog 显示 SIGSEGV,崩溃点位于实例相关回调链路。 分析 排查发现,异步任务提交时直接捕获了对象自身引用,后续任务执行时对象已经销毁,最终在回调中访问失效实例,形成典型的
稳定性分析的目标不是直接猜测根因,而是基于现象、日志和线程状态逐步缩小范围。对稳定性问题,推荐按“先分类、再取证、后定位”的顺序推进。实际工作中,通常可以分为人工分析和 AI 分析两种方式。 1. 分析方式 1.1 AI 分析 RNOH 场景下,推荐结合稳定性 skill 来做 AI 分析,skill 名称为 rnoh-stability-triage。这个 skill 会优先帮助识别问题画像、匹
华为官方稳定性编码规范已覆盖 NDK 开发、ArkTS 侧编码、Node‑API 开发、C++ 编码、libuv 使用与案例、易错 API 使用等通用内容。 https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-coding-standard 本文聚焦 RNOH / React Native 场景,结合
本文件汇总该版本中归类为资源泄漏的历史修复,重点包括内存泄漏、句柄未释放和长期运行后的资源累积问题。 1. TurboModule 与网络请求回调内存泄漏 修改日期:2026-01-08版本:0.82.3问题描述:HTTP 请求结束后回调没有及时清理,AppearanceTurboModule 和 NetworkingTurboModule 析构时也缺少资源释放,长时间运行会持续累积内存。影响模块
本文件汇总该版本中归类为内存异常的历史修复,重点包括 UAF、悬空指针、空指针、野指针、越界访问和对象引用清理异常等问题。 1. 图片回调晚于实例销毁导致悬空 URI 崩溃 修改日期:2026-01-08版本:0.82.3问题描述:ImageComponentInstance::onComplete 中的 ON_LOAD 回调直接读取 m_imageSource.uri.c_str()。当主线程已
本文件汇总该版本中归类为应用冻屏的历史修复,重点包括死锁、锁重入、跨线程阻塞和可能导致应用无响应的等待链路问题。 1. FontRegistry 锁顺序不一致导致死锁 修改日期:2026-01-07版本:0.82.3问题描述:JS 线程执行 addFontData() 先拿 m_fontFileContentByFontFamilyMtx 再等 m_fontCollectionMtx,UI 线程执
本文件汇总该版本中归类为应用异常退出的历史修复,包含 CppCrash、JS Crash、abort、兼容性崩溃以及生命周期与并发场景下最终表现为进程退出的问题。 1. AnimatedTurboModule 销毁后回调仍执行导致崩溃 修改日期:2026-01-07版本:0.82.3问题描述:AnimatedTurboModule 已经销毁后,VSync/Display 回调仍继续驱动 runUp
本文件汇总该版本中归类为资源泄漏的历史修复,重点包括内存泄漏、句柄未释放和长期运行后的资源累积问题。 1. 创建并保存 JSVM code cache 后未释放句柄导致泄漏 修改日期:2025-12-16版本:0.77.40问题描述:JSVM 在创建并保存 code cache 后没有释放 cache 句柄,重复触发代码缓存时会持续累积内存占用。影响模块:JSVM问题类型:Memory Leak提
本文件汇总该版本中归类为内存异常的历史修复,重点包括 UAF、悬空指针、空指针、野指针、越界访问和对象引用清理异常等问题。 1. ModalHostView 销毁与窗口变化竞态导致 m_state 为空 修改日期:2025-03-27版本:0.77.18问题描述:ModalHostViewComponentInstance 在快速销毁且窗口尺寸变化时,m_state 可能为空,造成空指针 cras
文章介绍了在原生App中集成React Native(RN)模块的实践过程。作者通过为老项目添加新功能模块,验证了RN混合开发的可行性,指出无需重构整个项目,只需简单配置即可嵌入RN组件。具体步骤包括:创建RN项目结构、配置Android/iOS原生工程、处理依赖版本对齐问题。重点提醒要使用最新模板配置,并推荐NativeModule实现原生与RN交互。实践表明,该方案支持热更新,显著提升了迭代效
本文件汇总该版本中归类为应用冻屏的历史修复,重点包括死锁、锁重入、跨线程阻塞和可能导致应用无响应的等待链路问题。 1. getTurboModule 持锁创建 TM 导致死锁并引发卡死 修改日期:2024-10-23版本:0.77.18问题描述:TurboModuleProvider::getTurboModule() 在持有 m_cacheMtx 时同步执行 m_createTurboModul
本文件汇总该版本中归类为应用异常退出的历史修复,包含 CppCrash、JS Crash、abort、兼容性崩溃以及生命周期与并发场景下最终表现为进程退出的问题。 1. Alert 关闭后重复点击按钮导致回调重复触发崩溃 修改日期:2025-01-02版本:0.77.18问题描述:Alert 弹窗在 cancel 或按钮点击关闭后,AlertManagerTurboModule 仍可能再次执行 a
在米家智能家居插件开发中,颜色选择功能(如调节灯泡、灯带颜色)是常见需求。本文介绍了一个不依赖第三方库的自定义色盘取色组件,通过色盘图片 + PanResponder手势实现颜色的可视化选择。文章详细解析了组件的实现原理,包括HSV颜色空间、坐标转换、手势处理、初始位置计算等核心代码,并提供了配套的颜色转换工具库colorsys.ts。最后给出了在米家插件中的使用示例。该方案轻量、可控,适合对包体
本文件汇总该版本中归类为资源泄漏的历史修复,重点包括内存泄漏、句柄未释放和长期运行后的资源累积问题。 1. ComponentInstance 内存泄漏 修改日期:2025-03-03版本:0.72.59问题描述:CppComponentInstance 子类中持有的资源未随组件实例析构一同释放,ComponentInstance 生命周期结束后内存残留,导致泄漏持续积累影响模块:Componen
本文件汇总该版本中归类为内存异常的历史修复,重点包括 UAF、悬空指针、空指针、野指针、越界访问和对象引用清理异常等问题。 1. Instance 销毁时崩溃 修改日期:2024-01-23版本:0.72.27问题描述:RNInstance 销毁过程中,对实例可用状态和清理阶段的弱引用判断不足,导致销毁链路继续进入无效对象访问而崩溃影响模块:RNInstance / 生命周期提交 / PR:296
表格优先级优化项🔴 高启用 Hermes、首屏最小化、图片 WebP、Splash 优化🟠 中代码分割、延迟初始化、列表虚拟滚动、移除无用依赖🟢 低字体子集、RAM Bundle(已过时)、Bitcode💡记住不要过早优化!先用工具测量真实瓶颈,再针对性解决。通过以上策略,多数 RN 应用可将冷启动时间从3–5秒优化至1–2秒内。如需具体场景(如大型电商 App、含 WebView 的混合
安装依赖# 创建 metro.config.js// 启用 WebSocket 热通道});
本文介绍了在React Native中使用Expo开发时,如何解决ScrollView固定高度和背景色统一的UI布局问题。当ScrollView设置固定高度60时出现拉伸或背景色异常的情况,解决方案包括:1)在ScrollView外部添加包装View控制高度;2)明确设置ScrollView高度;3)通过最外层View设置统一背景色。文章提供了完整代码示例,并补充了状态栏背景色的设置方法,帮助开发
本文详细介绍了如何在React Native应用中集成Azure通知服务(Azure Notification Hubs)并实现Android推送功能。主要内容包括:环境准备(创建Azure通知中心和Firebase项目)、项目配置(Gradle文件修改)、依赖库安装(Firebase和通知Hub SDK)、常见依赖问题解决方案(HTTPS协议配置),以及推送通知的示例代码实现。文章强调了安全配置
本文摘要: 文章详细介绍了React Native项目中字体资源的处理与配置方法。第一部分讲解使用react-native-asset库处理字体资源:1)全局安装依赖;2)配置react-native.config.js文件;3)执行资源link命令;4)重启项目。第二部分指导如何为React Native Paper配置全局字体:1)定义多语言字体集;2)创建typography样式配置;3)通
但研究员在系统底层预埋了现实场景中高频出现的安全漏洞,为大模型攻防测试提供了真实突破口。本次测试对所有参测模型完全公平,所有模型获取的初始资源一致,仅包含APK安装包+官方挑战说明文档,统一核心测试目标:找到指定用户的私有书评,获取隐藏Flag,等同于一次标准化的移动端应用渗透测试任务。这场累计投入超1500美元的实测实验,揭开了各大模型真实的安全攻防能力差距:GPT-5.5以70%的成功率断层领
本文件汇总该版本中归类为应用异常退出的历史修复,包含 CppCrash、JS Crash、abort、兼容性崩溃以及生命周期与并发场景下最终表现为进程退出的问题。 1. 移除正在滚动的 ScrollView 时崩溃 修改日期:2023-07-12版本:0.72.27问题描述:ScrollView 仍处于滚动状态时被移除,RNScrollView.ets 中滚动回调与节点销毁并发交错,导致销毁后的滚
本文件汇总该版本中归类为应用冻屏的历史修复,重点包括死锁、锁重入、跨线程阻塞和可能导致应用无响应的等待链路问题。 1. TimingTurboModule 与 NativeAnimatedTurboModule 死锁 修改日期:2023-09-15版本:0.72.27问题描述:TimingTurboModule 与 NativeAnimatedTurboModule 在同步调用链路中相互等待,Ar
react native
——react native
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net