@Override public void trim(MemoryTrimType trimType){
  if (!mSemaphore.tryAcquire()) {
    return;
  }
  try {
    mByteArraySoftRef.clear();
  }
  finally {
    mSemaphore.release();
  }
}

@ Override public void trim ( MemoryTrimType trimType ) { if ( ! mSemaphore . tryAcquire ( ) ) { return ; } try { mByteArraySoftRef . clear ( ) ; } finally { mSemaphore . release ( ) ; } }
responds to memory pressure by simply ' discarding ' the local byte array if it is not used at the moment .
