Browse Source

[카테고리][Bug] 썸네일 RAM 캐시 제거

hyodong.min 7 years ago
parent
commit
b3448b7d03

+ 8 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type1/FirstCategoryMainItemViewHolder.java

@@ -5,6 +5,7 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryContentsBean;
@@ -36,7 +37,6 @@ public class FirstCategoryMainItemViewHolder extends CategoryMainViewHolder<Cate
     textViewMainFirstCategory = itemView.findViewById(R.id.text_view_main_first_category);
     dim0 = itemView.findViewById(R.id.view_dim_0);
     dim1 = itemView.findViewById(R.id.view_dim_1);
-    Visibler.invisible(dim0, dim1);
   }
 
   @Override
@@ -47,9 +47,15 @@ public class FirstCategoryMainItemViewHolder extends CategoryMainViewHolder<Cate
 
   @Override
   public void attach() {
+    Visibler.invisible(dim0, dim1);
+
     if (null != bean) {
       Glide.with(imageViewMainFirstCategory)
-        .asBitmap().load(bean.getImageUrl()).into(imageViewMainFirstCategory);
+        .asBitmap()
+        .load(bean.getImageUrl())
+        .apply(new RequestOptions().skipMemoryCache(true))
+//        .transition(new BitmapTransitionOptions().crossFade(100))
+        .into(imageViewMainFirstCategory);
       textViewMainFirstCategory.setText(bean.getTwoLineTitle());
     }
 

+ 33 - 31
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type2/SecondCategoryMainHolder.java

@@ -9,7 +9,6 @@ import android.widget.TextView;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.DataSource;
 import com.bumptech.glide.load.engine.GlideException;
-import com.bumptech.glide.load.resource.bitmap.BitmapTransitionOptions;
 import com.bumptech.glide.request.RequestListener;
 import com.bumptech.glide.request.RequestOptions;
 import com.bumptech.glide.request.target.Target;
@@ -54,6 +53,18 @@ public abstract class SecondCategoryMainHolder extends CategoryMainViewHolder<Ca
   public SecondCategoryMainHolder(View itemView) {
     super(itemView);
 
+    imageView1 = itemView.findViewById(R.id.image_1);
+    textView1 = itemView.findViewById(R.id.text_1);
+    imageView2 = itemView.findViewById(R.id.image_2);
+    textView2 = itemView.findViewById(R.id.text_2);
+    imageView3 = itemView.findViewById(R.id.image_3);
+    textView3 = itemView.findViewById(R.id.text_3);
+    dim0 = itemView.findViewById(R.id.view_dim_0);
+    dim1 = itemView.findViewById(R.id.view_dim_1);
+    dim2 = itemView.findViewById(R.id.view_dim_2);
+    dim3 = itemView.findViewById(R.id.view_dim_3);
+    dim4 = itemView.findViewById(R.id.view_dim_4);
+    dim5 = itemView.findViewById(R.id.view_dim_5);
   }
 
   @Override
@@ -68,18 +79,6 @@ public abstract class SecondCategoryMainHolder extends CategoryMainViewHolder<Ca
 
   @Override
   public void attach() {
-    imageView1 = itemView.findViewById(R.id.image_1);
-    textView1 = itemView.findViewById(R.id.text_1);
-    imageView2 = itemView.findViewById(R.id.image_2);
-    textView2 = itemView.findViewById(R.id.text_2);
-    imageView3 = itemView.findViewById(R.id.image_3);
-    textView3 = itemView.findViewById(R.id.text_3);
-    dim0 = itemView.findViewById(R.id.view_dim_0);
-    dim1 = itemView.findViewById(R.id.view_dim_1);
-    dim2 = itemView.findViewById(R.id.view_dim_2);
-    dim3 = itemView.findViewById(R.id.view_dim_3);
-    dim4 = itemView.findViewById(R.id.view_dim_4);
-    dim5 = itemView.findViewById(R.id.view_dim_5);
 
     Visibler.invisible(dim0, dim1, dim2, dim3, dim4, dim5);
     ImageView[] images = {imageView1, imageView2, imageView3};
@@ -112,27 +111,29 @@ public abstract class SecondCategoryMainHolder extends CategoryMainViewHolder<Ca
       Glide.with(imageView)
         .asBitmap()
         .load(bean.getImageUrl())
+        .apply(new RequestOptions().skipMemoryCache(true))
+//        .transition(new BitmapTransitionOptions().crossFade(100))
         .listener(new RequestListener<Bitmap>() {
-        @Override
-        public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
-          return false;
-        }
-
-        @Override
-        public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
-          if (imageView == imageView1) {
-            Visibler.visible(dim0, dim1);
-          }
-          else if (imageView == imageView2) {
-            Visibler.visible(dim2, dim3);
-          }
-          else if (imageView == imageView3) {
-            Visibler.visible(dim4, dim5);
+          @Override
+          public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
+            return false;
           }
 
-          return false;
-        }
-      }).into(imageView);
+          @Override
+          public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
+            if (imageView == imageView1) {
+              Visibler.visible(dim0, dim1);
+            }
+            else if (imageView == imageView2) {
+              Visibler.visible(dim2, dim3);
+            }
+            else if (imageView == imageView3) {
+              Visibler.visible(dim4, dim5);
+            }
+
+            return false;
+          }
+        }).into(imageView);
 
       List<TagBean> list = bean.getTagList();
       StringBuilder stringBuilder = new StringBuilder();
@@ -167,6 +168,7 @@ public abstract class SecondCategoryMainHolder extends CategoryMainViewHolder<Ca
     ImageView[] images = {imageView1, imageView2, imageView3};
     for (ImageView image : images) {
       Glide.with(image).clear(image);
+      image.setOnClickListener(null);
     }
 
   }

+ 7 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type3/ThirdCategoryMainItemViewHolder.java

@@ -5,6 +5,7 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.view.Event;
@@ -27,6 +28,8 @@ public class ThirdCategoryMainItemViewHolder extends CategoryMainViewHolder {
 
   public ThirdCategoryMainItemViewHolder(View itemView) {
     super(itemView);
+    imageViewMainThirdCategory = itemView.findViewById(R.id.image_view_main_third_category);
+    textViewMainThirdCategory = itemView.findViewById(R.id.text_view_main_third_category);
   }
 
   @Override
@@ -35,12 +38,13 @@ public class ThirdCategoryMainItemViewHolder extends CategoryMainViewHolder {
 
   @Override
   public void attach() {
-    imageViewMainThirdCategory = itemView.findViewById(R.id.image_view_main_third_category);
-    textViewMainThirdCategory = itemView.findViewById(R.id.text_view_main_third_category);
 
     if (null != bean) {
       Glide.with(imageViewMainThirdCategory)
-        .asBitmap().load(bean.getImageUrl()).into(imageViewMainThirdCategory);
+        .asBitmap()
+        .apply(new RequestOptions().skipMemoryCache(true))
+//        .transition(new BitmapTransitionOptions().crossFade(100))
+        .load(bean.getImageUrl()).into(imageViewMainThirdCategory);
       textViewMainThirdCategory.setText(bean.getTwoLineTitle());
     }
 
@@ -56,7 +60,6 @@ public class ThirdCategoryMainItemViewHolder extends CategoryMainViewHolder {
     if (null != imageViewMainThirdCategory) {
       Glide.with(imageViewMainThirdCategory).clear(imageViewMainThirdCategory);
       itemView.setOnClickListener(null);
-      textViewMainThirdCategory = null;
     }
   }
 }

+ 10 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type4/FourthCategoryMainItemViewHolder.java

@@ -5,6 +5,7 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryContentsBean;
@@ -31,6 +32,10 @@ public class FourthCategoryMainItemViewHolder extends CategoryMainViewHolder<Cat
 
   public FourthCategoryMainItemViewHolder(View itemView) {
     super(itemView);
+    textViewMainFourthCategoryTitle1 = itemView.findViewById(R.id.text_view_main_fourth_category_title1);
+    textViewMainFourthCategoryTitle2 = itemView.findViewById(R.id.text_view_main_fourth_category_title2);
+    textViewMainFourthCategoryTitle3 = itemView.findViewById(R.id.text_view_main_fourth_category_title3);
+    imageViewMainFourthCategory = itemView.findViewById(R.id.image_view_main_fourth_category);
   }
 
   @Override
@@ -43,14 +48,14 @@ public class FourthCategoryMainItemViewHolder extends CategoryMainViewHolder<Cat
 
   @Override
   public void attach() {
-    textViewMainFourthCategoryTitle1 = itemView.findViewById(R.id.text_view_main_fourth_category_title1);
-    textViewMainFourthCategoryTitle2 = itemView.findViewById(R.id.text_view_main_fourth_category_title2);
-    textViewMainFourthCategoryTitle3 = itemView.findViewById(R.id.text_view_main_fourth_category_title3);
-    imageViewMainFourthCategory = itemView.findViewById(R.id.image_view_main_fourth_category);
 
     if (null != bean) {
       Glide.with(imageViewMainFourthCategory)
-        .asBitmap().load(bean.getImageUrl()).into(imageViewMainFourthCategory);
+        .asBitmap()
+        .apply(new RequestOptions().skipMemoryCache(true))
+//        .transition(new BitmapTransitionOptions().crossFade(100))
+        .load(bean.getImageUrl()).into(imageViewMainFourthCategory);
+
       textViewMainFourthCategoryTitle1.setText(bean.getSubTitle());
       textViewMainFourthCategoryTitle2.setText(bean.getTwoLineTitle());
       String subCategory = bean.getSubCategory();
@@ -70,6 +75,5 @@ public class FourthCategoryMainItemViewHolder extends CategoryMainViewHolder<Cat
       Glide.with(imageViewMainFourthCategory).clear(imageViewMainFourthCategory);
       itemView.setOnClickListener(null);
     }
-
   }
 }

+ 10 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type5/FifthCategoryMainItemViewHolder.java

@@ -10,6 +10,7 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.DataSource;
 import com.bumptech.glide.load.engine.GlideException;
 import com.bumptech.glide.request.RequestListener;
+import com.bumptech.glide.request.RequestOptions;
 import com.bumptech.glide.request.target.Target;
 
 import kr.co.zumo.app.R;
@@ -37,6 +38,11 @@ public class FifthCategoryMainItemViewHolder extends CategoryMainViewHolder {
 
   public FifthCategoryMainItemViewHolder(View itemView) {
     super(itemView);
+    imageViewMainFifthCategory = itemView.findViewById(R.id.image_view_main_fifth_category);
+    textViewMainFifthDate = itemView.findViewById(R.id.text_view_main_fifth_date);
+    textViewMainFifthTitle = itemView.findViewById(R.id.text_view_main_fifth_title);
+    dim0 = itemView.findViewById(R.id.view_dim_0);
+    dim1 = itemView.findViewById(R.id.view_dim_1);
 
   }
 
@@ -49,15 +55,13 @@ public class FifthCategoryMainItemViewHolder extends CategoryMainViewHolder {
 
   @Override
   public void attach() {
-    imageViewMainFifthCategory = itemView.findViewById(R.id.image_view_main_fifth_category);
-    textViewMainFifthDate = itemView.findViewById(R.id.text_view_main_fifth_date);
-    textViewMainFifthTitle = itemView.findViewById(R.id.text_view_main_fifth_title);
-    dim0 = itemView.findViewById(R.id.view_dim_0);
-    dim1 = itemView.findViewById(R.id.view_dim_1);
     Visibler.invisible(dim0, dim1);
     if (null != bean) {
       Glide.with(imageViewMainFifthCategory)
-        .asBitmap().load(bean.getImageUrl()).listener(new RequestListener<Bitmap>() {
+        .asBitmap()
+        .apply(new RequestOptions().skipMemoryCache(true))
+//        .transition(new BitmapTransitionOptions().crossFade(100))
+        .load(bean.getImageUrl()).listener(new RequestListener<Bitmap>() {
         @Override
         public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
           return false;