glide加载大图片白屏崩溃闪退

glide加载大图片退出的时候白屏闪退了,可是又没有明显的Exception错误,后面搞了挺久的才注意到logcat里面的一些信息,ActivityManager: Low on memory...ViewTarget: Glide treats LayoutParams.WRAP_CONTENT as a request for an image the size of this device's screen dimensions. If you want to load the original image and are ok with the corresponding memory cost and OOMs (depending on the input size), use .override(Target.SIZE_ORIGINAL). Otherwise, use LayoutParams.MATCH_PARENT, set layout_width and layout_height to fixed dimension...,分析应该是大图片导致的OOM造成的,查了网上的一些资料说是当ImageView的宽高属性设置为wrap_content时,Glide由于不知道ImageView的实际宽高,所以加载的图片不会做压缩处理,完全按照图片实际大小加载,并且IamgeView的宽高为实际图片的宽高像素值,此时,ImageView控件显示很可能异常。

所以宽高最好不要设置wrap_content,由于我们的设备是横长竖短的宽屏设备,项目的界面只有一张居中图片显示,所以,我最后的解决办法是ImageView设置

注意是高度定死了,宽度没定死。这样如果是小于imgeview大小的小图就会按原图居中显示,大于imgeview的大图就会自动缩放到高最大是屏幕高的合适的大小了。不过这个设置在我们的项目里面似乎只对fragment起作用,在activity里面没起作用,具体原因还没去探究,因为我们的设备跟普通的安卓设备有些不一样,有些动画animation之类的在模拟器能运行,在我们的设备上运行动不了,可能设备有些什么不一样导致的吧,后面也是没办法才用task去实现的假动画

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值