开发中如果有一次性加载大量网络图片的需求,很容易造成运行内存暴涨,从而被系统杀死进程的现象,尤其是iOS中,系统为app分配的内存是有限的,超出这个数字就会被强行终止。
我的解决办法是压缩图片,设置为原来的三分之一即可,直接设置Image组件的宽高是没用的,可以通过ResizeImage组件压缩。
FadeInImage(
image:ResizeImage( //通过ResizeImage组件可以节省加载网络图片时App运行内存的占用
NetworkImage(widget.imageUrl),
width: window.physicalSize.width~/3 //压缩为原来的三分之一
),
placeholder: const AssetImage(Constant.defaultLogoImg),
fit: BoxFit.contain,
imageErrorBuilder: (context, error, stackTrace) {
return Image.asset(Constant.defaultLogoImg);
}
)
通过更换此组件后,App闪退的问题得到解决了。希望对你有帮助