> ## Documentation Index
> Fetch the complete documentation index at: https://docs.facebetter.net/llms.txt
> Use this file to discover all available pages before exploring further.

# 常见问题

> Android 美颜 SDK 常见问题解答

## 集成问题

### Q: 引擎创建失败怎么办？

A: 检查以下几点：

* 确认 `appId` 和 `appKey` 是否正确
* 检查网络连接是否正常
* 查看日志输出获取详细错误信息
* 确认 SDK 版本是否最新

### Q: 编译时找不到类或方法？

A: 可能的原因：

* 确认已正确添加 `facebetter.aar` 依赖
* 检查 `build.gradle` 配置是否正确
* 尝试 Clean Project 后重新构建
* 确认使用的是正确的包名 `net.pixpark.facebetter`

### Q: 运行时出现 UnsatisfiedLinkError？

A: 解决方案：

* 确认设备架构是否支持（arm64-v8a, armeabi-v7a）
* 检查 AAR 文件是否完整
* 确认没有混淆 native 方法

## 功能问题

### Q: 美颜效果不明显？

A: 可以尝试：

* 增加美颜参数值（范围 0.0-1.0）
* 确保启用了对应的美颜类型
* 检查图像质量是否足够清晰
* 确认人脸检测是否正常

### Q: 美颜效果过度或失真？

A: 建议：

* 降低美颜参数值
* 检查参数组合是否合理
* 避免同时启用过多美颜类型
* 根据图像质量调整参数

### Q: 虚拟背景不生效？

A: 检查：

* 确认已启用 `BeautyType.VIRTUAL_BACKGROUND`
* 检查背景图片路径是否正确
* 确认图片格式是否支持（PNG、JPG）
* 检查图片文件是否存在且可读

## 性能问题

### Q: 处理速度慢怎么办？

A: 优化建议：

* 使用 VIDEO 模式进行实时处理
* 降低图像分辨率
* 减少同时启用的美颜类型
* 及时释放不用的图像对象
* 避免在主线程进行图像处理

### Q: 内存占用过高？

A: 解决方案：

* 使用 `ByteBuffer.allocateDirect()` 创建直接内存缓冲区
* 及时调用 `release()` 方法释放资源
* 避免频繁创建和销毁引擎实例
* 复用 `ImageFrame` 对象

### Q: 应用崩溃或 ANR？

A: 排查步骤：

* 检查是否在主线程进行图像处理
* 确认资源释放是否完整
* 查看日志中的异常信息
* 检查参数值是否在有效范围内

## 图像处理问题

### Q: 如何处理不同格式的图像？

A: 使用 `ImageFrame` 的格式转换方法：

* `toRGBA()` - 转换为 RGBA 格式
* `toI420()` - 转换为 I420 格式
* `toNV21()` - 转换为 NV21 格式（Android 相机默认格式）
* `toBGRA()` - 转换为 BGRA 格式

### Q: 相机预览图像处理？

A: 建议流程：

1. 从相机获取 YUV 数据
2. 使用 `createWithAndroid420()` 创建 ImageFrame
3. 调用 `processImage()` 处理
4. 转换为目标格式显示

### Q: 图像旋转问题？

A: 解决方案：

* 使用 `ImageFrame.rotate()` 方法旋转图像
* 支持 0°、90°、180°、270° 旋转
* 旋转操作会修改原始图像数据

## 权限问题

### Q: 文件访问权限问题？

A: 需要添加权限：

```xml theme={null}
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```

### Q: 相机权限问题？

A: 需要添加权限：

```xml theme={null}
<uses-permission android:name="android.permission.CAMERA" />
```

## 调试问题

### Q: 如何开启调试日志？

A: 在创建引擎前配置：

```java theme={null}
BeautyEffectEngine.LogConfig logConfig = new BeautyEffectEngine.LogConfig();
logConfig.consoleEnabled = true;
logConfig.fileEnabled = true;
logConfig.level = BeautyEffectEngine.LogLevel.DEBUG;
BeautyEffectEngine.setLogConfig(logConfig);
```

### Q: 如何获取详细错误信息？

A: 方法：

* 开启 DEBUG 级别日志
* 检查 API 返回值（0 表示成功）
* 查看文件日志输出
* 使用 Android Studio 的 Logcat 查看日志

## 版本兼容性

### Q: 支持哪些 Android 版本？

A: 支持 Android 5.0 (API 21) 及以上版本

### Q: 支持哪些设备架构？

A: 支持：

* arm64-v8a（64位 ARM）
* armeabi-v7a（32位 ARM）

### Q: 如何升级 SDK 版本？

A: 步骤：

1. 下载新版本 SDK
2. 替换旧的 AAR 文件
3. 清理项目缓存
4. 重新构建项目
5. 测试功能是否正常
