Android 16无法解码项目HEIF图片的问题求助及兼容方案咨询
Android 16无法解码项目HEIF图片的问题求助及兼容方案咨询
最近在Android 16设备上碰到了个棘手的问题:我们项目里的部分HEIF图片完全打不开,尝试查看时系统直接弹出错误提示:
“Failed to create image decoder with message 'invalid input'.”
为了定位问题,我们特意对比了能正常加载的HEIF图片和出问题的项目图片的元数据差异,具体如下:
正常工作的HEIF图片元数据特征:
- 元数据极简、干净
- 完全遵循标准的EXIF格式
- 没有额外的、意外的MakerNotes
出问题的项目HEIF图片元数据特征:
- 采用了遗留的JPEG风格EXIF
- 使用大端字节序(Big-endian)
- 包含无法被识别的MakerNotes
- 嵌入了完整的相机原始数据(比如ISO、曝光参数、光圈值、GPS信息等)
现在我们实在搞不明白,为什么Android 16的图片解码器会拒绝这类图片?有没有其他开发者遇到过一模一样的情况?另外也想请教下,Android 16对HEIF格式的元数据或者文件结构到底有哪些严格的硬性要求?如果有能让这些项目图片兼容Android 16的调整方案,还请不吝赐教,非常感谢!
内容来源于stack exchange




