summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mark Renouf <mrenouf@google.com> 2014-03-24 15:22:55 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2014-03-24 15:22:55 +0000
commita63cd9f424d70a3f8ca059aa8f76b28be1f9fa07 (patch)
treef8e5e6a6eda21edf22aff325dc570415df34d342
parentc01e1aeb0d86bd626684c97d709d4a8e995fddfb (diff)
parent9c5c56eb51e20c0789832d84a520a466a4ab5580 (diff)
Merge "Run finalizers before counting for StrictMode." into klp-modular-dev
-rw-r--r--core/java/android/os/StrictMode.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java
index d794ca674d49..ea71ad8c0563 100644
--- a/core/java/android/os/StrictMode.java
+++ b/core/java/android/os/StrictMode.java
@@ -1449,7 +1449,11 @@ public final class StrictMode {
if (policy.classInstanceLimit.size() == 0) {
return;
}
- Runtime.getRuntime().gc();
+
+ System.gc();
+ System.runFinalization();
+ System.gc();
+
// Note: classInstanceLimit is immutable, so this is lock-free
for (Map.Entry<Class, Integer> entry : policy.classInstanceLimit.entrySet()) {
Class klass = entry.getKey();
@@ -2005,7 +2009,10 @@ public final class StrictMode {
// noticeably less responsive during orientation changes when activities are
// being restarted. Granted, it is only a problem when StrictMode is enabled
// but it is annoying.
- Runtime.getRuntime().gc();
+
+ System.gc();
+ System.runFinalization();
+ System.gc();
long instances = VMDebug.countInstancesOfClass(klass, false);
if (instances > limit) {