private static Integer getJavaObjectID(Object obj) { Integer id = strongJavaObjectToID.get(obj); if (id == null) { id = weakJavaObjectToID.get(obj); } return id; }
private static void makeInstanceWeak(int javaObjectID, boolean keepAsWeak) { if (IsLogEnabled) Log.d( DEFAULT_LOG_TAG, "makeInstanceWeak instance " + javaObjectID + " keepAsWeak=" + keepAsWeak); Object instance = strongInstances.get(javaObjectID); if (keepAsWeak) { weakJavaObjectToID.put(instance, Integer.valueOf(javaObjectID)); weakInstances.put(javaObjectID, new WeakReference<Object>(instance)); } strongInstances.delete(javaObjectID); strongJavaObjectToID.remove(instance); }