# 问题排查模板

## 基本信息
- **问题标题**: 
- **发现时间**: YYYY-MM-DD HH:MM
- **发现人**: 
- **问题等级**: P0/P1/P2/P3 (P0最高)
- **影响范围**: 
- **状态**: 待排查/排查中/已解决/已关闭

## 问题描述

### 现象描述
- 问题表现
- 用户反馈
- 错误信息

### 复现步骤
1. 步骤1
2. 步骤2
3. 步骤3
4. 预期结果: 
5. 实际结果: 

### 环境信息
- **设备型号**: 
- **Android版本**: 
- **应用版本**: 
- **系统版本**: 
- **其他环境信息**: 

## 问题分析

### 初步分析
- 可能原因1
- 可能原因2
- 可能原因3

### 日志分析

#### 系统日志
```bash
# 关键日志片段
[时间] [级别] [标签] 日志内容
```

#### 应用日志
```bash
# 关键日志片段
[时间] [级别] [标签] 日志内容
```

#### 崩溃堆栈
```
java.lang.Exception: 异常信息
    at com.example.Class.method(File.java:100)
    at ...
```

### 数据收集

#### 性能数据
- CPU使用率: 
- 内存使用: 
- 网络状态: 

#### 系统信息
- 系统属性: 
- 进程信息: 
- 线程信息: 

### 根因分析

#### 问题定位
- 问题出现在: 模块/类/方法
- 根本原因: 

#### 原因分析
1. **原因1**: 详细分析
2. **原因2**: 详细分析

## 解决方案

### 方案1: [方案名称]

#### 方案描述
- 解决思路
- 实施步骤

#### 代码修改
```java
// 修改前
public void oldMethod() {
    // 旧代码
}

// 修改后
public void newMethod() {
    // 新代码
}
```

#### 优缺点
- **优点**: 
- **缺点**: 
- **风险评估**: 

### 方案2: [方案名称]

#### 方案描述
- 解决思路

#### 优缺点
- **优点**: 
- **缺点**: 

### 最终方案
- 选择方案: 
- 选择理由: 

## 实施过程

### 实施步骤
1. **步骤1**: 描述
   - 时间: YYYY-MM-DD
   - 负责人: 
   - 状态: 完成/进行中

2. **步骤2**: 描述
   - 时间: YYYY-MM-DD
   - 负责人: 
   - 状态: 完成/进行中

### 测试验证

#### 测试用例
- **用例1**: 描述
  - 测试结果: 通过/失败
  - 测试时间: YYYY-MM-DD

- **用例2**: 描述
  - 测试结果: 通过/失败
  - 测试时间: YYYY-MM-DD

#### 回归测试
- 测试范围: 
- 测试结果: 
- 测试时间: 

## 问题总结

### 根本原因
- 原因总结

### 解决方案
- 方案总结

### 预防措施
- **措施1**: 描述
- **措施2**: 描述

### 经验教训
1. 教训1
2. 教训2
3. 教训3

## 相关链接

- [[相关文档]]
- [相关Issue/PR]
- [[类似问题]]

## 时间线

| 时间 | 事件 | 负责人 |
|------|------|--------|
| YYYY-MM-DD HH:MM | 问题发现 |  |
| YYYY-MM-DD HH:MM | 开始排查 |  |
| YYYY-MM-DD HH:MM | 定位根因 |  |
| YYYY-MM-DD HH:MM | 方案确定 |  |
| YYYY-MM-DD HH:MM | 问题解决 |  |
| YYYY-MM-DD HH:MM | 问题关闭 |  |

## 备注

- 备注1
- 备注2
