You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter image_picker插件在Redmi Note 9选图时重启应用问题求助

Redmi Note 9 上 image_picker 导致 MainActivity 重启(内存充足场景)的修复方案及替代包

修复方案

  • 调整图片选择参数限制大小:给 image_picker 设置 maxWidth、maxHeight 和 imageQuality,压缩图片尺寸和质量——哪怕设备内存充足,MIUI 对单应用内存阈值可能有特殊限制,缩小图片能降低内存压力。示例代码:
final XFile? image = await ImagePicker().pickImage(
  source: ImageSource.gallery,
  maxWidth: 1920,
  maxHeight: 1080,
  imageQuality: 80,
);
  • 开启应用大内存堆:在 android/app/src/main/AndroidManifest.xml 的 <application> 标签里添加 android:largeHeap="true",让应用能分配更多内存,绕过厂商的内存限制。
  • 检查 MIUI 权限和后台限制:Redmi 的 MIUI 后台管理严格,调用相册时应用切到后台可能被回收。给应用开启「自启动权限」「后台运行权限」,关掉「省电模式」里对该应用的限制。
  • 更新 image_picker 到最新版:官方可能已经修复了 MIUI 设备的兼容性问题,把依赖升级到最新版本试试。

替代包选择

  • image_cropper + gallery_saver:如果只是从相册选图,用这两个包组合,直接获取图片文件路径,避开 image_picker 可能的内存管理问题。
  • flutter_image_picker:第三方维护的分支版本,专门针对国内厂商设备做了兼容性优化。
  • file_picker:直接选择图片文件,拿到路径后自行处理图片加载,灵活性更高,能更好控制内存使用。

内容的提问来源于stack exchange,提问作者Imesh Jeewantha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:52:42