zhibo/模拟器优化指南.md

89 lines
2.2 KiB
Markdown
Raw Normal View History

2025-12-18 14:52:20 +08:00
# 模拟器环境优化指南
## 🚀 已完成的优化
### 1. 应用层优化
- ✅ 异步加载资源,避免主线程阻塞
- ✅ 减少网络请求频率15秒轮询
- ✅ 优化启动流程,立即显示内容
- ✅ 添加ANR防护机制
### 2. 网络层优化
- ✅ 模拟器专用超时配置3秒连接8秒读取
- ✅ 启用连接重试机制
- ✅ 优化HTTP客户端配置
### 3. 流媒体服务器优化
- ✅ 使用模拟器专用SRS配置
- ✅ HLS分片时长降至1秒极低延迟
- ✅ 减少缓冲区大小
- ✅ 关闭GOP缓存
## 📱 模拟器设置建议
### Android Studio模拟器优化
1. **硬件配置**
- RAM: 至少4GB
- VM heap: 512MB
- Graphics: Hardware - GLES 2.0
2. **高级设置**
- 启用 "Use Host GPU"
- 启用 "Snapshot" 快速启动
- 关闭不必要的传感器
### 推流设置OBS
```
服务器: rtmp://localhost:1935/live
密钥: 从应用获取的streamKey
```
**OBS优化设置**
- 关键帧间隔: 1秒
- 码率: 1000-2000 kbps模拟器环境建议较低
- 分辨率: 720p或更低
- 编码器: x264软编码兼容性更好
## ⚡ 延迟优化效果
| 配置项 | 优化前 | 优化后 |
|--------|--------|--------|
| HLS分片 | 10秒 | 1秒 |
| 缓冲时长 | 30秒 | 3秒 |
| 预期延迟 | 15-20秒 | 3-8秒 |
## 🔧 故障排除
### 如果仍然出现ANR
1. 重启模拟器
2. 清除应用数据
3. 检查电脑性能CPU/内存使用率)
### 如果延迟仍然很高
1. 确认使用HTTP-FLV播放延迟更低
2. 检查网络连接
3. 尝试降低推流码率
### 切换回生产配置
如需在真机上测试修改docker-compose.yml
```yaml
volumes:
- ./docker/srs/srs.conf:/usr/local/srs/conf/srs.conf
```
## 📊 性能监控
可以通过以下方式监控性能:
- SRS统计页面: http://localhost:8080/console/
- Android Studio Profiler
- 应用内的网络请求日志
## 💡 最佳实践
1. **开发阶段**: 使用模拟器配置,快速测试
2. **测试阶段**: 切换到真机,验证实际性能
3. **生产环境**: 使用标准配置,确保稳定性
---
*注意:模拟器环境的延迟主要来自虚拟化开销,真机环境下延迟会显著降低。*