提交 0cecfd1f 编写于 作者: J JessYan

Improve UserItemHolder

上级 a4be5ff0
......@@ -15,11 +15,13 @@
*/
package me.jessyan.mvparms.demo.mvp.ui.holder;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.http.imageloader.glide.ImageConfigImpl;
......@@ -70,10 +72,20 @@ public class UserItemHolder extends BaseHolder<User> {
}
/**
* 在 Activity 的 onDestroy 中使用 {@link DefaultAdapter#releaseAllHolder(RecyclerView)} 方法 (super.onDestroy() 之前)
* {@link BaseHolder#onRelease()} 才会被调用, 可以在此方法中释放一些资源
*/
@Override
protected void onRelease() {
//只要传入的 Context 为 Activity, Glide 就会自己做好生命周期的管理, 其实在上面的代码中传入的 Context 就是 Activity
//所以在 onRelease 方法中不做 clear 也是可以的, 但是在这里想展示一下 clear 的用法
mImageLoader.clear(mAppComponent.application(), ImageConfigImpl.builder()
.imageViews(mAvatar)
.build());
this.mAvatar = null;
this.mName = null;
this.mAppComponent = null;
this.mImageLoader = null;
}
}
......@@ -52,7 +52,8 @@ public abstract class BaseHolder<T> extends RecyclerView.ViewHolder implements V
/**
* 释放资源
* 在 Activity 的 onDestroy 中使用 {@link DefaultAdapter#releaseAllHolder(RecyclerView)} 方法 (super.onDestroy() 之前)
* {@link BaseHolder#onRelease()} 才会被调用, 可以在此方法中释放一些资源
*/
protected void onRelease() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册