Run explicit GC to clear references to bitmaps earlier.

Bug: 38258699
Test: Open Recents, dump meminfo, close Recents, wait, dump meminfo
Change-Id: Ibdcf94aee4fac9abcde64e30ae1f13cbb551fec0
This commit is contained in:
Winson Chung
2017-06-06 14:01:29 -07:00
parent 2f84c4715d
commit 69a9c170b3
2 changed files with 16 additions and 0 deletions

View File

@@ -514,6 +514,9 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD
RecentsActivityLaunchState launchState = config.getLaunchState();
launchState.reset();
}
// Force a gc to attempt to clean up bitmap references more quickly (b/38258699)
Recents.getSystemServices().gc();
}
@Override

View File

@@ -361,6 +361,19 @@ public class SystemServicesProxy {
return sSystemServicesProxy;
}
/**
* Requests a gc() from the background thread.
*/
public void gc() {
BackgroundThread.getHandler().post(new Runnable() {
@Override
public void run() {
System.gc();
System.runFinalization();
}
});
}
/**
* @return whether the provided {@param className} is blacklisted
*/