如何解决鸿蒙应用闪退问题
如何解决鸿蒙应用闪退问题
本文是一份面向 ArkTS/JavaScript/C++ 多语言开发者的综合性排查与优化手册,覆盖 HarmonyOS/OpenHarmony 5.x 时代 常见闪退根因、诊断流程、调试技巧、CI 监控及线上防护方案,力争帮你把 Crash 数量降到 0.00 ‰。
1 前言:为什么你的应用会闪退?
无论是手机端 HarmonyOS,还是 IoT 场景的 OpenHarmony,一旦应用在启动或运行过程中异常退出(Crash),不仅影响用户体验,还直接损耗留存与口碑。造成闪退的因素往往交织——系统版本、SDK API 级别、权限声明、Native ABI、内存压力、线程竞争乃至硬件差异都会触发崩溃。因此,建立系统化的排查思维与工具链尤为重要。
2 闪退的高频成因速览
分类 | 典型原因 | 现象 |
---|---|---|
版本差异 | 应用 compileSdkVersion 高于设备系统 API;arkui 组件版本不匹配 | 启动即闪退 |
资源/内存 | 大图未压缩、Cursor/Bitmap 泄漏、AnimationController 重复 | 页面切换闪退、OOM |
权限/签名 | config.json5 中权限缺失或调试签名误用 | 调用特定能力时崩溃 |
Native ABI | .so 与设备架构不符;未开启 CFI | SIGSEGV 、SIGBUS |
并发/线程 | 在 UI 线程做重 CPU 逻辑;锁竞争 | 偶现卡顿→ANR→Crash |
系统限制 | 后台 Fgs 过多、Service 绑定超时 | 切后台再前台崩溃 |
Tips: 2025 年以后,鸿蒙在 Stage Model 明确限制 Ability 生命周期,旧版 Page/Service Ability 迁移不当也是诱因之一。
3 环境准备与基础检查
-
升级 DevEco Studio & SDK
- 截至 2025 年 4 月,DevEco Studio 5.0.3 Beta2(API 15) 已开放下载,支持 HarmonyOS NEXT 5.0 及 OpenHarmony 4/5。citeturn0search4
- 新版 IDE 默认集成 Hvigor 构建系统,可一键对齐 API 与编译链。
-
确保设备系统最新
- 华为官方于 2025-05-15 推送 HarmonyOS 5.0.5 (17) Release,重点提升稳定性与性能。
-
校准项目配置
// hvigorfile.js 片段 module.exports = {buildProfile: {module: {compileSdkVersion: 15, // 与设备 API 对齐compatibleSdkVersion: 9,defaultLanguage: "arkts"}} }
-
打开符号化构建:
在 Module->Build Options 勾选 Generate Debug Symbol,方便日后解析.hprof
与.dmp
。
4 快速定位闪退:日志与调试工具
4.1 HDC + logcat
# 连接设备
hdc_std shell# 过滤崩溃堆栈
hilog -x | grep -E "Fatal signal|Abort|Exception"
DfxCrash
标签一般首条即为崩溃线程。- 通过
--pid
限定进程可减噪。
4.2 HarmonyOS Profiler
DevEco Studio 内置 CPU / Memory / Startup / Graphics 监测面板,可视化捕获 OOM 与帧率跌落。
- Memory Profiler 在 Gc Summary 面板里可导出 Heap Dump;结合 MAT/LeakCanary-OH 找泄漏。
- Startup Profiler 定位首帧渲染耗时>1 s 的瓶颈代码。
4.3 Native Crash 报文
- 在项目根目录
libs/symbols
存放 un-stripped.so
。 - 借助 Breakpad/llvm-symbolizer 将
crash.dmp
还原为可读堆栈。
5 典型场景及对策
5.1 启动即闪退
排查点 | 解决方案 |
---|---|
权限缺失:调用相机/定位前未声明 | config.json5 → "reqPermissions": ["ohos.permission.ACCESS_LOCATION"] |
Stage Model 配置错误 | module.json 中 "deviceType" 、"pages" 路径是否准确 |
资源加载异常 | 确认 .hap 未被 ProGuard 混淆必需资源 |
5.2 特定页面闪退
- 大图加载:ArkUI Image 建议加
pixelMapOptions: { size: 300*300 }
;或使用ohos.image AverMedia
三级缓存。 - 动画过度:
AnimationController
不要在onAppear
重复play()
;可在onPageHide
调stop()
。
5.3 后台→前台闪退
- 鸿蒙 5.x 对后台 Ability 回收较激进,若 Page Ability 保存的
state
过大(>512 k B)会被系统 kill。 - 在
onSaveState
仅保存必要字段,或通过轻量级数据库(如 RDBLite)持久化。
5.4 Native Crash
- ABI 不符:确保
arm64-v8a
、armeabi-v7a
、riscv64
等全架构产物齐备。 - 开启 CFI 与 -fstack-protector-all 提前发现越界。
- 对高频
SIGSEGV (SEGV_ACCERR)
可启用 Address Sanitizer(仅调试构建)。
6 兼容性与多端适配
学界 2023 年提出的 CiD4HMOS 研究表明,不同 SDK API 使用范围不当是鸿蒙应用闪退主因之一。citeturn0search11
- ArkTS/JS 混合:ArkTS 组件优先;JS Ability 须声明
"srcLanguage": "ets"
,否则在低版本设备上找不到入口。 - OpenHarmony 分支:使用
@ohos.app.ability.ComponentAbility
而非StageAbility
。 - 动态特性检查:用
system.version.sdkInt
在运行时兜底。
7 性能与稳定性优化
-
内存治理
import memory from '@ohos.memory';setInterval(() => {console.info(`rss: ${memory.getRss()} bytes`); }, 10_000);
- RSS > 300 MB 时主动释放缓存;确保留有 20 % 系统空闲内存。
-
Bitmap 优化
- WebP ≥ 75 % 压缩;长列表使用 LazyForEach 及 Placeholder 组件。
- 避免在 UI 线程做文件 IO。
-
线程与协程
GlobalContext.getTaskDispatcher(Context.TASK_DISPATCHER_BACKGROUND)
- 使用
objc.schedule
设置帧率敏感任务优先级。
8 集成化 Crash 监控方案
方案 | 适用规模 | 特点 |
---|---|---|
AGC Crash Service | 中大型 | 零埋点接入,实时堆栈解析 |
Breakpad + Grafana | 私有化 | 成本低,可接入 Jira 二次分派 |
Firebase Crashlytics | 仅兼容 OpenHarmony Android 子系统 | 跨平台 |
DevEco Studio 5.x 在 Build → Analyze Stack Trace 可一键上传
.dmp
,并在 Crash Service 仪表盘聚合。
CI / CD 建议
- Hvigor + GitHub Actions:自动拉起设备 Farm,执行
hdc_std runtest
. - JUnit/ArkTSTest 单测必须覆盖 80 % Ability。
- Canary 渠道:通过 AppGallery 灰度 5 % 观察崩溃率 < 0.3 ‰ 再全量。
9 闪退排查「一页纸」清单
- 版本:设备系统 = or >
compileSdkVersion
- 日志:
hdc hilog -x | grep Fatal
- 符号:确保
.so
未剥离符号;保持mapping.txt
- 内存:Profiler → Heap Dump → MAT
- 权限:核对
config.json5
全量能力 - 线程:UI 线程无阻塞 IO/加解密
- Native:ABI & CFI & Sanitize
- 发布:灰度→全量;Crash Rate 阈值守护
10 结语
闪退是应用生命周期里最「致命」且最容易被忽视的质量指标。借助 DevEco Studio 5.x 的新工具链、系统化的日志治理、完善的 CI 监控以及面向版本差异的兼容策略,你可以把 Crash 控制在可接受范围甚至做到 0 Crash Release。希望本文的排查步骤与最佳实践能帮助你在鸿蒙生态里打造稳定、可靠、丝滑的终端体验——祝你 Bug Free & Crash Free ! 🎉
参考资料
- DevEco Studio 5.0.3 Beta2 发布说明
- HarmonyOS 5.0.5 Release 更新日志
- DevEco Studio 下载页面
- Huawei 官方闪退排查指南
- CiD4HMOS 论文:兼容性与闪退分析
- HarmonyOS NEXT App 安全与调试概览
相关文章:
如何解决鸿蒙应用闪退问题
如何解决鸿蒙应用闪退问题 本文是一份面向 ArkTS/JavaScript/C 多语言开发者的综合性排查与优化手册,覆盖 HarmonyOS/OpenHarmony 5.x 时代 常见闪退根因、诊断流程、调试技巧、CI 监控及线上防护方案,力争帮你把 Crash 数量降到 …...
人民日报社主管媒体深度聚焦珈和科技“遥感+AI”农险精准化突破:首创“四维数据贯通”模式 树行业转型新标杆
近日,由人民日报社主管的《中国城市报》对珈和科技与国寿财险湖南省分公司联合打造的农业保险数字化标杆项目进行了深度报道。 作为"遥感AI"技术在农业风险管理领域的创新实践者,珈和科技依托自主构建的覆盖“天-空-地-人”的全维度智慧农业技…...
(1)深度学习基础知识(八股)——常用名词解释
1. FC FC全称是Fully Connect全连接层,也被称为Linear Layer线性层。 它的核心是:每个输入神经元 与 每个输出神经元 都要通过权重连接,适用于将输入特征映射到高维或者低维空间。 数学表示 对于一个输入向量,FC的计算方式是: 是…...
深度学习零基础入门(2)-实战1:激活函数、前向传播和反向传播
一、激活函数 激活函数的作用 激活函数在神经网络中起着至关重要的作用,主要用于引入非线性因素,使得神经网络能够学习和模拟复杂的非线性关系。如果没有激活函数,无论神经网络有多少层,最终都只能表示线性变换,无法…...
LeRobot的机器人控制系统(下)
目的和范围 机器人控制系统是 LeRobot 框架的核心组件,提供用于操作、标定和记录物理机器人数据的接口。该系统支持远程操作、记录演示数据集、重放动作以及在真实机器人上运行已训练的策略。它充当用户、物理机器人硬件和训练流程之间的桥梁。本文介绍机器人控制系…...
Linux Docker安装【再探完美版教程】
Dokcer安装 文章目录 Dokcer安装安装前准备安装前设置yum网络镜像源【重要】查看服务器系统版本以及内核版本查看服务器内核版本安装依赖包:设置阿里云docker-ce镜像源 安装Dockerdocker-ce安装启动docker并设置开机自启配置阿里云镜像测试: Docker概念&…...
Java-根据路径获取JSON字符串的value值
实现内容 入参: 一串json的字符串,根据传入的字符串路径和想要获取此路径下的key值 出参: 此路径下的key的value值 实现原理 采用一层一层获取的方式,判断第一层并且获取第一层的数据,放入到数组中,将该数组放到下一次循环,再获取下一层的数据 实现方法 /*** 根据路径获取…...
【小呆的随机振动力学笔记】随机过程基础【一】
文章目录 1. 随机过程基础1.1 随机过程的概率分布1.2 随机过程的统计特征1.3 平稳随机过程1.4 遍历过程平稳随机过程 1. 随机过程基础 \quad\quad 上一节,我们主要回顾了概率论知识,接下来我们来回顾随机过程基础理论(或者叫随机场࿰…...
Java 内存模型中的读、写屏障
目录 1. 基本概念 1.1、读屏障 (Load Barrier) 1.2、写屏障 (Store Barrier) 1.3、咖啡店例子 2. 常见内存屏障 2.1、volatile 1、缓存可见性 2、指令重排序 3、内存屏障 2.2、final 2.3、synchronized关键字 2.4、手动内存屏障 3、不同屏障类型对比 4、实…...
AI 多 Agent 图形化开发深度解析:iVX IDE 与主流产品技术架构对比研究
随着人工智能技术的发展,软件开发正从手工编码向智能辅助开发演进。在 AI 多 Agent 图形化开发领域,iVX IDE 与 GitHub Copilot、Tabnine、CodeGeeX 等主流产品代表了不同的技术路线。本文从技术架构、功能实现、性能表现、生态建设等维度,对…...
微服务中的 AKF 拆分原则:构建可扩展系统的核心方法论
在数字化浪潮的推动下,互联网应用规模呈指数级增长,传统单体架构逐渐暴露出难以扩展、维护成本高等问题,微服务架构应运而生并成为企业应对复杂业务场景的主流选择。然而,随着业务的不断扩张和用户量的持续增加,如何确…...
MySQL迁移SSL报错
文章记录了之前tdsql迁移IDC过程中遇到的小问题 环境 xboss业务: tdsql未启用SSL, IDC-mysql启用了SSL: 原因分析 1, 迁移前: 因为tdsql未启用ssl, 且应用未显式配置ssl JDBC默认使用非SSL连接,因此可以正…...
Mysql的主从同步
一主一从 IP地址主机名master节点192.168.10.200mysql200slave节点192.168.10.201mysql201 master节点操作 配置文件增加两行参数 [rootmysql200 ~]# tail -n 2 /etc/my.cnf.d/mysql-server.cnf log-bin/mylog/mysql200 server-id200 [rootmysql200 ~]# systemctl restart …...
云原生微服务的前世今生
目录 Part1 时代背景 Part2 何为微服务? Part3 微服务出现的意义 Part4 企业应用 京东:国内电商领域的微服务实践 阿里:微服务在复杂业务场景中的应用 Part5 Istio:服务网格时代的微服务治理中枢 Istio 的技术定位…...
Python之虚拟环境
文章目录 Python之虚拟环境虚拟环境核心概念为什么需要虚拟环境?虚拟环境注意事项 创建虚拟环境使用 venv (Python 3.3 内置)使用 virtualenv (第三方工具,支持Python 2/3)与 venv创建方式的区别Python 版本支持功能与兼容性依赖关系和性能命令行工具创建…...
【Java高阶面经:数据库篇】15. 零停机数据迁移:从双写到一致性校验
一、迁移架构设计:双写+增量同步的三层防护模型 1.1 核心架构流程图 #mermaid-svg-MfnakvBNrtFScrMe {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MfnakvBNrtFScrMe .error-icon{fill:#552222;}#mermaid-svg-Mf…...
车载以太网网络测试-27【SOME/IP-SD简述】
文章目录 1 摘要2 SOME/IP-SD协议介绍2.1 定义与作用2.2 SOMEIP/SD协议通俗易懂的理解2.2.1 SOMEIP/SD协议是什么?2.2.2 通信流程(简化)2.2.3 车载功能示例2.2.4 类比理解 2.3 SOME/IP-SD报文结构2.3.1 Flags2.3.1.1 REBOOT (Bit 7)2.3.1.2 U…...
Ubuntu 22.04上升级Node.js版本
在Ubuntu 22.04上升级Node.js版本有几种方法,推荐使用NVM(Node Version Manager),因为它可以让你轻松管理多个Node.js版本。 方法1: 使用NVM(推荐) 1. 安装NVM # 下载并安装NVM curl -o- https://raw.gi…...
软件设计师“面向对象设计”真题考点分析——求三连
一、考点分值占比与趋势分析 综合知识历年考察统计 年份考题数分值占比考察重点2018334%继承类型、设计原则2019445.3%多态实现、类关系2020556.7%设计模式应用、接口隔离2021334%消息通信、封装特性2022668%开闭原则、组合模式2023556.7%模板方法、适配器模式2024445.3%单一…...
flutter dart 函数语法
以下是 Dart 语言中函数语法的 详细实例说明,涵盖了所有常用写法 基本语法参数类型(必选、可选、命名、默认值)匿名函数、箭头函数高阶函数(函数作为参数/返回值)异步函数(async / await) 1. …...
鸿蒙Flutter实战:24-混合开发详解-4-初始化Flutter
概述 将 Flutter 模块添加至宿主鸿蒙项目中后,接下需要实现页面跳转、消息通信等功能,本文重点介绍如何初始化 Flutter。 项目配置 添加依赖 编辑 ohos_app/oh-package.json 文件 如果通过 Har 包方式引入 Flutter 模块,则需要添加如下内…...
微信小程序之Promise-Promise初始用
我们来尝试使用Promise。 1、需求,做个抽奖的按钮, 抽奖规则: 30%的几率中奖,中奖会提示恭喜恭喜,奖品为10万 RMB 劳斯莱斯优惠券,没中奖会提示再接再厉。 2、先搭界面: <view class&qu…...
工业 / 农业 / AR 场景怎么选?Stereolabs ZED 双目3D相机型号对比与选型建议
Stereolabs ZED 相机系列为视觉感知领域提供了多种创新解决方案,适用于不同应用场景。选择合适的 ZED 相机型号,需综合考虑分辨率、深度感知范围、接口类型等因素。 Stereolabs ZED 相机产品系列概览 ZED:首款立体视觉相机,专为高…...
(Git) 稀疏检出(Sparse Checkout) 拉取指定文件
文章目录 🏭作用🏭指令总览👷core.sparseCheckout👷sparse-checkout 文件 🏭实例演示⭐END🌟交流方式 🏭作用 类似于 .gitignore 进行文件的规则匹配。 一般在需要拉取大型项目指定的某些文件…...
Nginx 部署前端项目dist文件到局域网然后ngrok部署到公网
①项目里面 npm run build 生成的dist文件 ②下载nginx: download 将dist文件夹放入html文件夹中 ③conf修改配置 里面有nginx.conf 文本修改④在此目录下 打开cmd 输入 start nginx.exe 启动代理 ⑤http://localhost:90/index.html即可或者域名换成你的ip地址也可以 …...
【sylar-webserver】9 网络模块
目录 Address 类图 知识点 常用结构体 常用函数 Socket 类图 主要功能 初始化 socket 流程: ByteArray 知识点 zigzag 算法 TLV 编码结构 Stream 类图 Stream 流结构,提供字节流读写接口 SocketStream TcpServer 类图 主要功能 Address…...
野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(四)安装RKNN Toolkit2
RKNN Toolkit2是用来将onnx模型转成rknn专用模型,并可通过RKNN Toolkit Lite2或者RKNPU调用NPU进行加速计算的工具。 一开始我安装很多次都无法成功安装。后来跟售后技术对接,必须是PC平台的Linux环境才可以。我的电脑是windows,所以我需要用…...
第六部分:阶段项目 5:构建 NestJS RESTful API 服务器
现在,是时候将你学到的 NestJS 知识付诸实践,构建一个简单的 RESTful API 服务器了。我们将基于第四阶段的项目(博客文章 API 或任务管理 API),使用 NestJS 的方式重新实现它。 选择以下一个项目: 项目选…...
【工作流】Fastgpt配置豆包模型-火山引擎
V4.9.7 Fastgpt现在不通过oneapi 来配置模型和渠道了, 可以直接在页面进行设置 首先在账号- 模型提供商里面 填入豆包的信息: 渠道名随便填,厂商选豆包, 然后选3个模型,如图所示 如果没有填入模型映射的话是没办法 …...
vite搭建vue3项目及相关配置
1.npm create vite 设置你的项目名,选择框架,选择语言 我此处选的为Vue typescripe 2.按照命令去执行 cd vite-vue3-app 进入项目文件,npm install 安装依赖,npm run dev 运行项目 此处由于node、npm版本导致报错问题如图 在…...
web实验(2)
实验1 搭建nginxssl的加密认证web服务器 第一步:准备工作 # 恢复快照 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootserver ~]# systemctl disable firewalld [rootserver ~]# yum install nginx mod_ssl -y [r…...
数字孪生技术如何重塑能源产业?
近年来,全球能源行业正步入一个前所未有的转型期。一方面,“双碳”目标驱动能源结构向低碳化、清洁化发展;另一方面,新能源比例快速上升,给传统电力系统带来巨大的不确定性。与此同时,数字化浪潮也席卷能源…...
你通俗易懂的理解——线程、多线程与线程池
一:异常处理 1.1 异常概述 (1)场景 (2)定义 (3)异常抛出机制 Java把不同的异常用不同的类表示 (4)如何对待异常 1.2 常见异常类 (1)Throwable &am…...
spring+tomcat 用户每次发请求,tomcat 站在线程的角度是如何处理用户请求的,spinrg的bean 是共享的吗
对于 springtomcat 用户每次发请求,tomcat 站在线程的角度是如何处理的 比如 bio nio apr 等情况 tomcat 配置文件中 maxThreads 的数量是相对于谁来说的? 以及 spring Controller 中的全局变量:各种bean 对于线程来说是共享的吗? 一、Tomca…...
机器人坐标系标定
机器人坐标系标定 机器人坐标系标定 1. 知识目标 理解机器人坐标系的定义掌握机器人坐标系的分类 2. 技能目标 能够正确标定机器人坐标系 3. 机器人坐标系的作用 代表不同的物体或边界示例: 相对于桌子、弓箭、坯料、其他机器或边界移动 用途: 使用…...
VR光伏车棚虚拟仿真系统:开启绿色能源新视界
VR 光伏车棚虚拟仿真系统,是一种集成了先进计算机技术与前沿虚拟现实技术的创新工具。它的核心在于,通过数字化手段高度逼真地模拟光伏车棚电站从规划建设到实际运行的全流程情境 ,为相关人员提供一个沉浸式、交互式的虚拟操作空间。 借助 …...
阿里云服务器 篇十三(加更):Web书签(链接共享和迷你导航):改为使用宿主机DB等优化
文章目录 系列文章搭建 LinkAce将docker-compose配置迁移到项目目录添加脚本只保留最新备份改为使用宿主机DB获取当前LinkAce数据库备份导入LinkAce数据库备份创建数据库账号修改容器内MySQL客户端连接配置:禁用SSL连接修改 Docker 相关配置回滚和彻底清除数据卷改为使用宿主机…...
Typescript学习教程,从入门到精通,TypeScript 包装类与包装对象语法知识点及案例代码(10)
TypeScript 包装类与包装对象语法知识点及案例代码 在 TypeScript 中,包装类(Wrapper Classes)和包装对象(Wrapper Objects)是处理基本数据类型(如 Boolean、Number、String)的重要概念。这些包…...
若依代码生成
1。数据库,自己先创建好表和数据 启动访问页面,导入你的表 圈红的改成自己的业务名 生成后压缩,执行数据库脚本.sql文件 2。前台导入直接复制粘贴src 3。后台导入 复制main文件夹下的两个文件夹到 ruoyi-admin\src\main 如果不能访问在修改…...
Vue3 打印表格、Element Plus 打印、前端打印、表格导出打印、打印插件封装、JavaScript 打印、打印预览
🚀 Vue3 高级表格打印工具封装(支持预览、分页、样式美化) 关键词:Vue3 打印表格、Element Plus 打印、前端打印、表格导出打印、打印插件封装、JavaScript 打印、打印预览 在企业级应用中,我们经常遇到打印报表、导出…...
实现一个前端动态模块组件(Vite+原生JS)
1. 引言 在前面的文章《使用Vite创建一个动态网页的前端项目》中我们实现了一个动态网页。不过这个动态网页的实用价值并不高,在真正实际的项目中我们希望的是能实现一个动态的模块组件。具体来说,就是有一个页面控件同时在多个页面中使用,那…...
面向对象编程在 JavaScript 中的实践
引言 前端开发正随着应用复杂度增加而向更严谨的架构模式演进。JavaScript 作为一种多范式语言,其面向对象特性为构建可维护、可扩展的大型应用提供了强大基础。 一、JavaScript 中的对象模型演化 对象字面量:最基础的封装 对象字面量是 JavaScript …...
Android 内存溢出(OOM)的 Kotlin 排查与优化指南
内存溢出(Out Of Memory, OOM)是 Android 开发中常见且棘手的问题,尤其在处理大图、复杂数据或内存泄漏时。本文将通过 Kotlin 代码示例 和工具使用,提供一套比较完整的排查与优化方案。 一、检测工具:定位内存问题根源…...
Docker常用命令介绍
Docker常用命令 1、本地镜像管理 save 命令 将一个或多个 Docker 镜像保存到一个 tar 归档文件中,以便在其他环境中分发或备份。 # 语法:docker save [OPTIONS] IMAGE [IMAGE...]# 保存单个镜像到文件 docker save -o myimage.tar myimage:latest# 保…...
(高级)高级前端开发者指南:框架运用与综合实战
当您已经掌握了HTML5、CSS3和JavaScript的基础知识后,接下来就是学习现代前端框架和性能优化的高级阶段。本文将重点介绍Vue.js/React的组件化开发、状态管理和路由配置,以及前端性能优化的核心技巧。通过丰富的代码示例和详细讲解,帮助您在实…...
边缘计算正在重新定义物联网的未来——你的设备还在“等云“吗?⚡
“数据不动算法动,算法不动代码动”——这句话正在成为物联网时代的新铁律。 当我们谈论物联网设备性能优化时,大多数开发者第一反应还是"上云"。但现实往往残酷:网络延迟让实时控制变成了"实时等待",带宽成本让企业CFO眉头紧锁,数据安全让合规部门夜…...
std::initialzer_list 与花括号{}数据列表
author: hjjdebug date: 2025年 05月 22日 星期四 15:50:23 CST descrip: std::initialzer_list 与花括号{}数据列表 文章目录 1.{数值列表}是什么?1.1 数组初始化 时 , 称为数组初始化列表1.2. 当用于容器时, 称为容器初始化列表1.3. 对于结构体或类,{…...
C++初阶-list的使用2
目录 1.std::list::splice的使用 2.std::list::remove和std::list::remove_if的使用 2.1remove_if函数的简单介绍 基本用法 函数原型 使用函数对象作为谓词 使用普通函数作为谓词 注意事项 复杂对象示例 2.2remove与remove_if的简单使用 3.std::list::unique的使用 …...
从单链表 list 中删除第 i 个元素--Python
从单链表 list 中删除第 i 个元素 一、问题引入二、解题步骤1.思维导图2.解题步骤 三、代码实现四、个人总结 一、问题引入 请编写程序,将 n 个整数顺次插入一个初始为空的单链表的表头。随后对任意给定的位序 i,删除链表中第 i 个结点。注意࿱…...
GraphPad Prism工作表的基本操作
《2025新书现货 GraphPad Prism图表可视化与统计数据分析(视频教学版)雍杨 康巧昆 清华大学出版社教材书籍 9787302686460 GraphPadPrism图表可视化 无规格》【摘要 书评 试读】- 京东图书 GraphPad Prism中包含5种工作表,每种工作表的基本操…...