今天测试找过来说图片不显示了,查了一下是Picasso加载本地图片没有显示,奇怪了,以前都是这样写为什么现在不行了,难道是Picasso有bug了,怀着激动的心情断点跟进去发现
Picasso所有load的重载都会将传入参数转化为Uri 再交给RequestCreator处理
而Picasso.load(localImagePath) 转化为Uri是没有 Scheme的 uri: "/storage/emulated/0/Android/data/xxxx/xxx.png"
这样当然无法解析图片了
解决方式:
Picasso.load(new File(localImagePath)) 就可以了,File转化为Uri 是包含Scheme的,
uri: "file:///storage/emulated/0/Android/data/xxxxx/xxx.png"
解决。
下次用一个库的时候还是先看看其实现原理吧,免得去踩一些不必要的坑