Skip to content

Commit ae0c968

Browse files
authored
Fix a memory leak in LeanplumActivityHelper (#570)
Clear the lastForegroundActivity reference when that activity is being destroyed
1 parent b6d0e44 commit ae0c968

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

AndroidSDKCore/src/main/java/com/leanplum/LeanplumActivityHelper.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,16 @@
2929
import android.content.res.Resources;
3030
import android.os.Bundle;
3131

32-
import com.clevertap.android.sdk.ActivityLifecycleCallback;
3332
import com.leanplum.actions.internal.ActionManagerExecutionKt;
3433
import com.leanplum.annotations.Parser;
3534
import com.leanplum.internal.ActionManager;
3635
import com.leanplum.internal.Constants;
3736
import com.leanplum.internal.LeanplumInternal;
3837
import com.leanplum.internal.Log;
39-
4038
import com.leanplum.internal.OperationQueue;
4139
import com.leanplum.migration.MigrationManager;
4240
import com.leanplum.utils.BuildUtil;
41+
4342
import java.util.LinkedList;
4443
import java.util.Queue;
4544

@@ -339,14 +338,14 @@ private static void onStop(Activity activity) {
339338
}
340339

341340
private static void onDestroy(Activity activity) {
342-
if (isActivityPaused &&
343-
lastForegroundActivity != null &&
344-
lastForegroundActivity.equals(activity)) {
345-
// prevent activity leak
341+
if (activity == lastForegroundActivity) {
342+
// lastForegroundActivity is being destroyed, release the reference
346343
lastForegroundActivity = null;
347-
// no activity is presented and last activity is being destroyed
348-
// dismiss inapp dialogs to prevent leak
349-
ActionManagerExecutionKt.dismissCurrentAction(ActionManager.getInstance());
344+
if (isActivityPaused) {
345+
// no activity is presented and last activity is being destroyed
346+
// dismiss inapp dialogs to prevent leak
347+
ActionManagerExecutionKt.dismissCurrentAction(ActionManager.getInstance());
348+
}
350349
}
351350
}
352351

AndroidSDKCore/src/main/java/com/leanplum/migration/wrapper/CTWrapper.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ import android.text.TextUtils
2828
import com.clevertap.android.sdk.ActivityLifecycleCallback
2929
import com.clevertap.android.sdk.CleverTapAPI
3030
import com.clevertap.android.sdk.CleverTapInstanceConfig
31-
import com.clevertap.android.sdk.pushnotification.PushConstants
32-
import com.clevertap.android.sdk.pushnotification.PushNotificationHandler
3331
import com.leanplum.LeanplumActivityHelper
3432
import com.leanplum.callbacks.CleverTapInstanceCallback
3533
import com.leanplum.internal.Constants

0 commit comments

Comments
 (0)