diff options
author | Alex Ning <chineseperson5@gmail.com> | 2021-01-06 14:46:22 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2021-01-06 14:46:22 +0000 |
commit | 07390678e0830aafa3a64bfaa15a64d101f197a8 (patch) | |
tree | 06aec09a36d493e015b8da7c4dea7e4c04464ea7 /app/src/main/java | |
parent | 99129a2b144f1d2eddda49eb2e870ce41a52bee1 (diff) | |
download | infinity-for-reddit-07390678e0830aafa3a64bfaa15a64d101f197a8.tar infinity-for-reddit-07390678e0830aafa3a64bfaa15a64d101f197a8.tar.gz infinity-for-reddit-07390678e0830aafa3a64bfaa15a64d101f197a8.tar.bz2 infinity-for-reddit-07390678e0830aafa3a64bfaa15a64d101f197a8.tar.lz infinity-for-reddit-07390678e0830aafa3a64bfaa15a64d101f197a8.tar.xz infinity-for-reddit-07390678e0830aafa3a64bfaa15a64d101f197a8.tar.zst infinity-for-reddit-07390678e0830aafa3a64bfaa15a64d101f197a8.zip |
Fix memory leaks caused by BigImageView. Remove unused custom views.
Diffstat (limited to 'app/src/main/java')
5 files changed, 13 insertions, 114 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewImageOrGifActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewImageOrGifActivity.java index a86e2c86..63fc42a9 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewImageOrGifActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewImageOrGifActivity.java @@ -484,4 +484,10 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa } }); } + + @Override + public void onDestroy() { + super.onDestroy(); + BigImageViewer.imageLoader().cancelAll(); + } } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java index 7af1bcc4..c7bf94b4 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java @@ -1774,6 +1774,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS EventBus.getDefault().unregister(this); super.onDestroy(); Bridge.clear(this); + BigImageViewer.imageLoader().cancelAll(); } @Override diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/AspectRatioBigImageView.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/AspectRatioBigImageView.java deleted file mode 100644 index d001faa3..00000000 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/AspectRatioBigImageView.java +++ /dev/null @@ -1,60 +0,0 @@ -package ml.docilealligator.infinityforreddit.customviews; - -import android.content.Context; -import android.content.res.TypedArray; -import android.util.AttributeSet; - -import com.github.piasy.biv.view.BigImageView; - -public class AspectRatioBigImageView extends BigImageView { - private float ratio; - - public AspectRatioBigImageView(Context context) { - super(context); - ratio = 1.0F; - } - - public AspectRatioBigImageView(Context context, AttributeSet attrs) { - super(context, attrs); - this.ratio = 1.0F; - this.init(context, attrs); - } - - public AspectRatioBigImageView(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - this.ratio = 1.0F; - this.init(context, attrs); - } - - public final float getRatio() { - return this.ratio; - } - - public final void setRatio(float var1) { - this.ratio = var1; - } - - private void init(Context context, AttributeSet attrs) { - if (attrs != null) { - TypedArray a = context.obtainStyledAttributes(attrs, com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView); - this.ratio = a.getFloat(com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView_ari_ratio, 1.0F); - a.recycle(); - } - - } - - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - int width = this.getMeasuredWidth(); - int height = this.getMeasuredHeight(); - if (width != 0 || height != 0) { - if (width > 0) { - height = (int) ((float) width * this.ratio); - } else { - width = (int) ((float) height / this.ratio); - } - - this.setMeasuredDimension(width, height); - } - } -} diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/AspectRatioSubsamplingScaleImageView.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/AspectRatioSubsamplingScaleImageView.java deleted file mode 100644 index dffdb9af..00000000 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/AspectRatioSubsamplingScaleImageView.java +++ /dev/null @@ -1,54 +0,0 @@ -package ml.docilealligator.infinityforreddit.customviews; - -import android.content.Context; -import android.content.res.TypedArray; -import android.util.AttributeSet; - -import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; - -public class AspectRatioSubsamplingScaleImageView extends SubsamplingScaleImageView { - private float ratio; - - public AspectRatioSubsamplingScaleImageView(Context context) { - super(context); - ratio = 1.0F; - } - - public AspectRatioSubsamplingScaleImageView(Context context, AttributeSet attr) { - super(context, attr); - this.ratio = 1.0F; - this.init(context, attr); - } - - public final float getRatio() { - return this.ratio; - } - - public final void setRatio(float var1) { - this.ratio = var1; - } - - private void init(Context context, AttributeSet attrs) { - if (attrs != null) { - TypedArray a = context.obtainStyledAttributes(attrs, com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView); - this.ratio = a.getFloat(com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView_ari_ratio, 1.0F); - a.recycle(); - } - - } - - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - int width = this.getMeasuredWidth(); - int height = this.getMeasuredHeight(); - if (width != 0 || height != 0) { - if (width > 0) { - height = (int) ((float) width * this.ratio); - } else { - width = (int) ((float) height / this.ratio); - } - - this.setMeasuredDimension(width, height); - } - } -} diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewRedditGalleryImageOrGifFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewRedditGalleryImageOrGifFragment.java index 585730d5..b93068c5 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewRedditGalleryImageOrGifFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewRedditGalleryImageOrGifFragment.java @@ -373,4 +373,10 @@ public class ViewRedditGalleryImageOrGifFragment extends Fragment { super.onAttach(context); activity = (ViewRedditGalleryActivity) context; } + + @Override + public void onDestroy() { + super.onDestroy(); + BigImageViewer.imageLoader().cancelAll(); + } } |