| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| index 27c46ed667dec4df0a9416d31ac048f754bda2f8..c72cece427b626b09bb01644a1692abf636526f4 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| @@ -46,6 +46,7 @@ import org.chromium.base.BaseSwitches;
|
| import org.chromium.base.Callback;
|
| import org.chromium.base.CommandLine;
|
| import org.chromium.base.ContextUtils;
|
| +import org.chromium.base.DiscardableReferencePool;
|
| import org.chromium.base.SysUtils;
|
| import org.chromium.base.TraceEvent;
|
| import org.chromium.base.VisibleForTesting;
|
| @@ -272,6 +273,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| private int mScreenWidthDp;
|
| private Runnable mRecordMultiWindowModeScreenWidthRunnable;
|
|
|
| + private final DiscardableReferencePool mReferencePool = new DiscardableReferencePool();
|
| +
|
| private AssistStatusHandler mAssistStatusHandler;
|
|
|
| // A set of views obscuring all tabs. When this set is nonempty,
|
| @@ -1778,6 +1781,16 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| super.onBackPressed();
|
| }
|
|
|
| + @Override
|
| + public void onTrimMemory(int level) {
|
| + super.onTrimMemory(level);
|
| + // The conditions are expressed using ranges to capture intermediate levels possibly added
|
| + // to the API in the future.
|
| + if ((level >= TRIM_MEMORY_RUNNING_LOW && level < TRIM_MEMORY_UI_HIDDEN)
|
| + || level >= TRIM_MEMORY_MODERATE) {
|
| + mReferencePool.drain();
|
| + }
|
| + }
|
|
|
| private ContentViewCore getContentViewCore() {
|
| Tab tab = getActivityTab();
|
| @@ -2203,4 +2216,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| public boolean supportsFullscreenActivity() {
|
| return false;
|
| }
|
| +
|
| + /**
|
| + * @return the reference pool for this activity.
|
| + */
|
| + public DiscardableReferencePool getReferencePool() {
|
| + return mReferencePool;
|
| + }
|
| }
|
|
|