1、Glide的生命周期绑定
Glide.with()方法可以传入Context、Activity、Fragment等类型参数,Glide会根据传入参数的不同绑定不同的生命周期。因此,如果没有特定的需求,尽量传入Activity或者Fragment参数,这样Glide请求会在合适的时机释放资源。值得注意的是,如果在非主线程下,不管传入什么参数,Glide默认会取ApplicationContext。
@NonNull
public static RequestManager with(@NonNull Context context) {
return getRetriever(context).get(context);
}
@NonNull
public static RequestManager with(@NonNull Activity activity) {
return getRetriever(activity).get(activity);
}
@NonNull
public static RequestManager with(@NonNull FragmentActivity activity) {
return getRetriever(activity).get(activity);
}
@NonNull
public static RequestManager with(@NonNull Fragment fragment) {
return getRetriever(fragment.getActivity()).get(fragment);
}
@NonNull
public static RequestManager with(@NonNull android.support.v4.app.Fragment fragment) {
return getRetriever(fragment.getActivity()).get(fragment);
}
@NonNull
public static RequestManager with(@NonNull Vi