final public void flush()
  {
    blockingLock();
    try {
      int numSurvivors = sweepAndCollect();
      for(int i = 0; i < numSurvivors; i++)
      {
        final JNIReference ref = mValidReferences[i];
        if (ref != null)
          ref.delete();
      }
      sweepAndCollect();
      // finally, reset the valid references to the minimum
      mValidReferences = new JNIReference[mMinimumReferencesToCache];
      mNextAvailableReferenceSlot = 0;
      mMaxValidReference = mMinimumReferencesToCache;
    } finally {
      blockingUnlock();
    }
  }
final public void flush()
  {
    blockingLock();
    try {
      int numSurvivors = sweepAndCollect();
      for(int i = 0; i < numSurvivors; i++)
      {
        final JNIReference ref = mValidReferences[i];
        if (ref != null)
          ref.delete();
      }
      sweepAndCollect();
      
      mValidReferences = new JNIReference[mMinimumReferencesToCache];
      mNextAvailableReferenceSlot = 0;
      mMaxValidReference = mMinimumReferencesToCache;
    } finally {
      blockingUnlock();
    }
  }
final public void flush ( ) { blockingLock ( ) ; try { int numSurvivors = sweepAndCollect ( ) ; for ( int i = 0 ; i < numSurvivors ; i ++ ) { final JNIReference ref = mValidReferences [ i ] ; if ( ref != null ) ref . delete ( ) ; } sweepAndCollect ( ) ; // finally, reset the valid references to the minimum mValidReferences = new JNIReference [ mMinimumReferencesToCache ] ; mNextAvailableReferenceSlot = 0 ; mMaxValidReference = mMinimumReferencesToCache ; } finally { blockingUnlock ( ) ; } }
Internal Only.

Immediately frees all active objects in the system. Do not call unless you
REALLY know what you're doing.
Internal Only .