Expo Go中本地大尺寸图片不显示但Inspector可识别问题求助
Expo Go中1MB级本地图片无法显示的解决方法
常见排查方向及解决步骤
1. 图片编码/格式兼容问题
Expo Go对渐进式JPG的支持存在局限性,部分高压缩特殊编码的图片可能无法正常渲染。
- 将图片转换为基线编码JPG或改用PNG格式,用本地图片处理工具(比如Photoshop、系统自带画图工具)重新导出,导出时选择基线编码选项。
2. 清除Expo缓存
Expo Go的本地缓存可能导致资源索引异常,大图片未被正确加载:
- 关闭Expo Go应用,清除App缓存(iOS:卸载重装;Android:进入应用设置清除缓存);
- 终端运行
npx expo start -c,强制清除项目本地缓存后重新启动。
3. 图片分辨率优化
1MB的图片如果分辨率过高(比如宽高超过2000px),会触发Expo Go的内存限制,导致无法渲染:
- 用图片工具将图片分辨率压缩至移动端适配尺寸(建议宽高≤1500px),同时保持文件大小合理。
4. 代码样式排查
虽然Inspector能检测到图片,但可通过样式调整验证是否存在渲染遮挡:
<Image source={require('./assets/images/kkk.jpg')} resizeMode='contain' style={{ width: 50, height: 50, borderColor: 'black', borderWidth: 1, // 补充边框宽度,确认图片占位 backgroundColor: '#eee' // 添加背景色,排查是否图片透明 }} />
5. 项目资源配置检查
确保app.json中assetBundlePatterns包含图片路径,避免资源未被打包:
{ "expo": { "assetBundlePatterns": [ "assets/images/**/*" ] } }
快速验证技巧
- 替换一张已知可用的1MB左右测试图片,确认是否为当前图片本身的问题;
- 运行
npx expo optimize,自动优化项目内所有图片资源,适配Expo的加载要求。
内容的提问来源于stack exchange,提问作者kebintech
相关产品推荐
相关产品推荐

