关于第三方库遇到的问题

2018-02-08  本文已影响16人  gzfgeh

Glide

public class MyGlideModule implements GlideModule {
@Override
public void registerComponents(Context context, Glide glide) {
    // 设置长时间读取和断线重连
    OkHttpClient client = new OkHttpClient.Builder().connectTimeout(10, TimeUnit.MINUTES).readTimeout(10, TimeUnit.MINUTES).retryOnConnectionFailure(true).build();
    glide.register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(client));
}

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    // 防止图片变绿,在有ALPHA通道的情况下
    builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
}

}
Glide.with(context).load().centerCrop().into()
Glide.with(context).load().fitCenter().into()

RxJava(1.x)

Retrofit

new Retrofit.Builder().baseUrl(url)
                //增加返回值为String的支持
                .addConverterFactory(ScalarsConverterFactory.create())
                //增加返回值为Gson的支持(以实体类返回)
                .addConverterFactory(GsonConverterFactory.create())
                //增加返回值为Oservable<T>的支持
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build();

BlockCanary

利用了Android原生Looper.loop中的一个log打印逻辑,以准确定位ANR和耗时调用栈。

上一篇 下一篇

猜你喜欢

热点阅读