修复部分内存泄漏问题

This commit is contained in:
2022-12-23 10:27:25 +08:00
parent af5d8dbf19
commit 33ee465a43
14 changed files with 152 additions and 42 deletions

View File

@@ -17,6 +17,8 @@ import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.utils.L;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import io.rong.imlib.RongIMClient;
@@ -33,6 +35,7 @@ public class CommonAppContext extends MultiDexApplication {
public static CommonAppContext sInstance;
public static WeakReference<Activity> activityWeakReference;
public static List<WeakReference<Activity>> activityList=new ArrayList<>();
private int mCount;
private boolean mFront;//是否前台
public static int jpushMsgNum;
@@ -111,6 +114,7 @@ public class CommonAppContext extends MultiDexApplication {
jpushMsgNum = 0;
CommonAppConfig.getInstance().setFrontGround(true);
}
activityList.add(activityWeakReference);
}
@Override
@@ -131,6 +135,12 @@ public class CommonAppContext extends MultiDexApplication {
L.e("AppContext------->处于后台");
CommonAppConfig.getInstance().setFrontGround(false);
}
for (WeakReference<Activity> reference : activityList) {
if (reference.get() == activity) {
activityList.remove(reference);
return;
}
}
}
@Override

View File

@@ -40,7 +40,7 @@ public class JavascriptInterfaceUtils {
private boolean dialogClose = false;
//同名activity跳转问题
private boolean LiveZhuangBana = true;
private static JavascriptInterfaceUtils sInstance;
//private static JavascriptInterfaceUtils sInstance;
public JavascriptInterfaceUtils setPageClose(boolean pageClose) {
this.pageClose = pageClose;
@@ -67,9 +67,9 @@ public class JavascriptInterfaceUtils {
synchronized (JavascriptInterfaceUtils.class) {
sInstance = new JavascriptInterfaceUtils();
// sInstance = new JavascriptInterfaceUtils();
return sInstance;
return new JavascriptInterfaceUtils();
}
}