示例#1
0
  private static Integer getJavaObjectID(Object obj) {
    Integer id = strongJavaObjectToID.get(obj);
    if (id == null) {
      id = weakJavaObjectToID.get(obj);
    }

    return id;
  }
示例#2
0
  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);
  }