# 模拟器环境优化指南 ## 🚀 已完成的优化 ### 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. **生产环境**: 使用标准配置,确保稳定性 --- *注意:模拟器环境的延迟主要来自虚拟化开销,真机环境下延迟会显著降低。*