diff options
author | Jeff Sharkey <jsharkey@android.com> | 2011-10-25 17:09:09 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2011-10-26 10:43:51 -0700 |
commit | 7978a414bbbc737bfb342db8840c29376e33a34d (patch) | |
tree | 3b0697f45a02a8ff85da4ddad63479fd74af58ea /core/java/android/database/sqlite/SQLiteCursor.java | |
parent | 6e03b22015bd834da1a5755e75d7468e5b3b13c5 (diff) | |
download | frameworks_base-7978a414bbbc737bfb342db8840c29376e33a34d.zip frameworks_base-7978a414bbbc737bfb342db8840c29376e33a34d.tar.gz frameworks_base-7978a414bbbc737bfb342db8840c29376e33a34d.tar.bz2 |
Only populate stack when StrictMode will use it.
When the StrictMode VM flag is changed mid-lifecycle, pass along at
least a basic trace.
Bug: 5516561
Change-Id: I6c922ba20f34349c35624cfc04d1c71ee56ad6ef
Diffstat (limited to 'core/java/android/database/sqlite/SQLiteCursor.java')
-rw-r--r-- | core/java/android/database/sqlite/SQLiteCursor.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/database/sqlite/SQLiteCursor.java b/core/java/android/database/sqlite/SQLiteCursor.java index 9574300..c24acd4 100644 --- a/core/java/android/database/sqlite/SQLiteCursor.java +++ b/core/java/android/database/sqlite/SQLiteCursor.java @@ -95,7 +95,11 @@ public class SQLiteCursor extends AbstractWindowedCursor { if (query.mDatabase == null) { throw new IllegalArgumentException("query.mDatabase cannot be null"); } - mStackTrace = new DatabaseObjectNotClosedException().fillInStackTrace(); + if (StrictMode.vmSqliteObjectLeaksEnabled()) { + mStackTrace = new DatabaseObjectNotClosedException().fillInStackTrace(); + } else { + mStackTrace = null; + } mDriver = driver; mEditTable = editTable; mColumnNameMap = null; @@ -319,7 +323,7 @@ public class SQLiteCursor extends AbstractWindowedCursor { try { // if the cursor hasn't been closed yet, close it first if (mWindow != null) { - if (StrictMode.vmSqliteObjectLeaksEnabled()) { + if (mStackTrace != null) { int len = mQuery.mSql.length(); StrictMode.onSqliteObjectLeaked( "Finalizing a Cursor that has not been deactivated or closed. " + |