01
内存泄漏概述
什么是内存泄漏 · 危害 · 常见原因 · 分类
基础概念
02
C++内存管理基础
栈与堆 · new/delete vs malloc/free · RAII · 智能指针初探
C++RAII
03
Qt对象树与父子关系
对象树机制 · 父子自动析构 · setParent · 内存泄漏关联
Qt核心父子
04
Qt智能指针详解
QPointer · QSharedPointer · QWeakPointer · QScopedPointer
智能指针Qt
05
new操作符与内存泄漏
裸new危险 · 何时使用/避免 · new与QObject结合
new陷阱
06
Qt容器类的内存管理
QList/QVector/QMap/QHash · 隐式共享 · 写时复制
容器性能
07
信号与槽中的内存泄漏
Lambda捕获泄漏 · connect第五参数 · 断开连接
信号槽Lambda
08
QThread与多线程内存泄漏
线程生命周期 · 正确关闭 · 线程安全内存管理
多线程QThread
09
QWidget与QDialog内存管理
模态/非模态 · 窗口关闭释放 · WA_DeleteOnClose
UIQWidget
10
QPixmap与QImage资源泄漏
图片加载释放 · QPixmapCache · 大图片处理
资源QPixmap
11
QTimer与定时器泄漏
启动/停止 · 单次定时器清理 · 定时器ID管理
定时器QTimer
12
QNetworkAccessManager网络泄漏
请求生命周期 · QNetworkReply释放 · 超时处理
网络QNetwork
13
QProcess外部进程管理
进程创建/销毁 · 通信内存管理 · 避免僵尸进程
进程QProcess
14
QFile与文件操作泄漏
文件句柄开关 · QFileDevice · 临时文件清理
文件QFile
15
QSqlDatabase数据库连接泄漏
连接创建/关闭 · 连接池 · 结果集释放
数据库QSql
16
QXmlStreamReader/Writer泄漏
XML解析内存 · 流式缓冲区 · 大文件处理
XML流
17
QPainter与绘图设备泄漏
begin/end配对 · QPaintDevice生命周期 · 双缓冲
绘图QPainter
18
QPluginLoader插件泄漏
动态库加载/卸载 · 插件实例管理 · 版本兼容
插件动态库
19
QSettings配置读写泄漏
配置文件开关 · 键值内存管理 · 频繁读写优化
配置QSettings
20
QThreadPool与QRunnable泄漏
线程池任务管理 · 自动删除 · 任务取消
线程池QRunnable
21
QTimerEvent与事件循环泄漏
事件过滤器 · 事件循环退出 · 定时器事件清理
事件循环QTimerEvent
22
QGraphicsView框架泄漏
图元生命周期 · 场景视图关系 · 大量图元优化
Graphics图元
23
QML与C++交互泄漏
QML引擎内存 · C++对象暴露 · 属性绑定循环引用
QML交互
24
第三方库集成泄漏
OpenCV/FFmpeg集成 · 资源释放回调
第三方集成
25
Valgrind内存检测工具
安装使用 · Memcheck · 泄漏报告解读
Valgrind检测
26
AddressSanitizer (ASan)
编译配置 · 运行时检测 · 误报处理
ASan编译
27
Qt Creator内置分析器
Heob/Dr. Memory · Profiler模式 · 内存快照
Qt CreatorProfiler
28
代码审查与静态分析
Cppcheck · Clang-Tidy · 审查清单 · 泄漏模式
静态分析审查
29
内存泄漏修复实战案例
完整项目修复 · 检测到修复闭环 · 性能对比
实战案例
30
内存泄漏预防体系
编码规范 · CI/CD集成 · 团队培训 · 持续改进
体系规范