Fix memleak for archive

This commit is contained in:
tarsin committed 2022-12-20 19:58:40 +08:00
1 parent f06167ba4b
commit 54bd6f6ed8
7 files changed
+22 -6

No files matched your search

@@ -91,6 +91,7 @@ public class ArchivePageLoader extends PageLoader2 {
@Override
public void stop() {
super.stop();
if (archiveThread != null) {
archiveThread.interrupt();
archiveThread = null;
@@ -81,6 +81,7 @@ public class DirPageLoader extends PageLoader2 implements Runnable {
@Override
public void stop() {
super.stop();
if (mBgThread != null) {
mBgThread.interrupt();
mBgThread = null;
@@ -53,6 +53,7 @@ public class EhPageLoader extends PageLoader2 implements SpiderQueen.OnSpiderLis
@Override
public void stop() {
super.stop();
if (mSpiderQueen != null) {
mSpiderQueen.removeOnSpiderListener(this);
// Activity recreate may called, so wait 3000s
@@ -78,6 +78,9 @@ class Image private constructor(source: Source?, val release: () -> Unit = {}) {
}
}
val isRecycled: Boolean
get() = (mObtainedDrawable as? BitmapDrawable)?.bitmap?.isRecycled ?: (mObtainedDrawable as? AnimatedImageDrawable)?.isRunning?.not() ?: true
companion object {
val screenWidth = EhApplication.application.resources.displayMetrics.widthPixels
val screenHeight = EhApplication.application.resources.displayMetrics.heightPixels