From 50a1fa64d841f13585fae7dd04985102869ea4c0 Mon Sep 17 00:00:00 2001 From: Mihaela Ogrezeanu Date: Wed, 13 Mar 2019 08:27:06 -0700 Subject: [PATCH] Use SoftReference in ObjectTracker Summary: if we use WeakReferences, DebugSection nodes are released very fast and highlighting doesn't work because the node is removed from the ObjectTracker. passy do you know who else I can add as reviewer? Reviewed By: passy Differential Revision: D14385872 fbshipit-source-id: ecc63190a84a7186296ed9c4c82ff6ab2aca8ad2 --- .../flipper/plugins/inspector/ObjectTracker.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/android/src/main/java/com/facebook/flipper/plugins/inspector/ObjectTracker.java b/android/src/main/java/com/facebook/flipper/plugins/inspector/ObjectTracker.java index fa7e1c149..328a48cb9 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/inspector/ObjectTracker.java +++ b/android/src/main/java/com/facebook/flipper/plugins/inspector/ObjectTracker.java @@ -8,7 +8,7 @@ package com.facebook.flipper.plugins.inspector; -import java.lang.ref.WeakReference; +import java.lang.ref.SoftReference; import java.util.HashMap; import java.util.Map; import javax.annotation.Nullable; @@ -16,20 +16,20 @@ import javax.annotation.Nullable; public class ObjectTracker { ObjectTracker() {} - private final Map> mObjects = new HashMap<>(); + private final Map> mObjects = new HashMap<>(); void put(String id, Object obj) { - mObjects.put(id, new WeakReference<>(obj)); + mObjects.put(id, new SoftReference<>(obj)); } @Nullable public Object get(String id) { - final WeakReference weakObj = mObjects.get(id); - if (weakObj == null) { + final SoftReference softRef = mObjects.get(id); + if (softRef == null) { return null; } - final Object obj = weakObj.get(); + final Object obj = softRef.get(); if (obj == null) { mObjects.remove(id); }