Fresco 是一个强大的图片加载组件。使用它之后,你不需要再去关心图片的加载和显示这些繁琐的事情! 支持 Android 2.3 及以后的版本。
开始使用 Fresco
假设使用由知名 CA 发放证书的网络服务器,那么加载图片:
Uri uri = Uri.parse("https://raw.githubusercontent.com/facebook/fresco/gh-pages/static/logo.png");
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);
自签署证书
使用未知的证书颁发机构或者自签署的服务器证书时,如果不进去配置,Fresco 将不会加载图片;
让 Fresco 支持自签署证书的 HTTPS
,通过自定义 Fresco 的网络层 即可;
项目中使用 OkHttp,让 OkHttp 支持自签署证书,并配置到 Fresco 中,Fresco 将可加载自签署证书的网络图片。
CustomTrust ct = new CustomTrust();
OkHttpClient client = new OkHttpClient.Builder()
.sslSocketFactory(ct.sslSocketFactory, ct.trustManager)
.hostnameVerifier((s, sslSession) -> true)
.build();
ImagePipelineConfig config = OkHttpImagePipelineConfigFactory
.newBuilder(getApplicationContext(), client)
.build();
Fresco.initialize(getApplicationContext(), config);
CustomTrust
可以参考 Retrofit OkHttp 使用自签名证书连接 HTTPS 一文。
参考资料
- 文中的链接
- Glide 系列预览 #17