Loading core/java/android/database/sqlite/SQLiteConnectionPool.java +12 −3 Original line number Diff line number Diff line Loading @@ -16,8 +16,7 @@ package android.database.sqlite; import dalvik.system.CloseGuard; import android.app.ActivityManager; import android.database.sqlite.SQLiteDebug.DbStats; import android.os.CancellationSignal; import android.os.OperationCanceledException; Loading @@ -26,6 +25,8 @@ import android.util.Log; import android.util.PrefixPrinter; import android.util.Printer; import dalvik.system.CloseGuard; import java.io.Closeable; import java.util.ArrayList; import java.util.Map; Loading Loading @@ -147,6 +148,11 @@ public final class SQLiteConnectionPool implements Closeable { private SQLiteConnectionPool(SQLiteDatabaseConfiguration configuration) { mConfiguration = new SQLiteDatabaseConfiguration(configuration); // Disable lookaside allocator on low-RAM devices if (ActivityManager.isLowRamDeviceStatic()) { mConfiguration.lookasideSlotCount = 0; mConfiguration.lookasideSlotSize = 0; } setMaxConnectionPoolSizeLocked(); } Loading Loading @@ -1004,7 +1010,10 @@ public final class SQLiteConnectionPool implements Closeable { printer.println("Connection pool for " + mConfiguration.path + ":"); printer.println(" Open: " + mIsOpen); printer.println(" Max connections: " + mMaxConnectionPoolSize); if (mConfiguration.isLookasideConfigSet()) { printer.println(" Lookaside config: sz=" + mConfiguration.lookasideSlotSize + " cnt=" + mConfiguration.lookasideSlotCount); } printer.println(" Available primary connection:"); if (mAvailablePrimaryConnection != null) { mAvailablePrimaryConnection.dump(indentedPrinter, verbose); Loading core/java/android/database/sqlite/SQLiteDatabase.java +4 −0 Original line number Diff line number Diff line Loading @@ -2366,6 +2366,10 @@ public final class SQLiteDatabase extends SQLiteClosable { * <p>SQLite default settings will be used, if this method isn't called. * Use {@code setLookasideConfig(0,0)} to disable lookaside * * <p><strong>Note:</strong> Provided slotSize/slotCount configuration is just a * recommendation. The system may choose different values depending on a device, e.g. * lookaside allocations can be disabled on low-RAM devices * * @param slotSize The size in bytes of each lookaside slot. * @param slotCount The total number of lookaside memory slots per database connection. */ Loading core/java/android/database/sqlite/SQLiteDatabaseConfiguration.java +4 −0 Original line number Diff line number Diff line Loading @@ -180,4 +180,8 @@ public final class SQLiteDatabaseConfiguration { } return EMAIL_IN_DB_PATTERN.matcher(path).replaceAll("XX@YY"); } boolean isLookasideConfigSet() { return lookasideSlotCount >= 0 && lookasideSlotSize >= 0; } } core/java/android/database/sqlite/SQLiteOpenHelper.java +4 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,10 @@ public abstract class SQLiteOpenHelper { * <p>SQLite default settings will be used, if this method isn't called. * Use {@code setLookasideConfig(0,0)} to disable lookaside * * <p><strong>Note:</strong> Provided slotSize/slotCount configuration is just a recommendation. * The system may choose different values depending on a device, e.g. lookaside allocations * can be disabled on low-RAM devices * * @param slotSize The size in bytes of each lookaside slot. * @param slotCount The total number of lookaside memory slots per database connection. */ Loading Loading
core/java/android/database/sqlite/SQLiteConnectionPool.java +12 −3 Original line number Diff line number Diff line Loading @@ -16,8 +16,7 @@ package android.database.sqlite; import dalvik.system.CloseGuard; import android.app.ActivityManager; import android.database.sqlite.SQLiteDebug.DbStats; import android.os.CancellationSignal; import android.os.OperationCanceledException; Loading @@ -26,6 +25,8 @@ import android.util.Log; import android.util.PrefixPrinter; import android.util.Printer; import dalvik.system.CloseGuard; import java.io.Closeable; import java.util.ArrayList; import java.util.Map; Loading Loading @@ -147,6 +148,11 @@ public final class SQLiteConnectionPool implements Closeable { private SQLiteConnectionPool(SQLiteDatabaseConfiguration configuration) { mConfiguration = new SQLiteDatabaseConfiguration(configuration); // Disable lookaside allocator on low-RAM devices if (ActivityManager.isLowRamDeviceStatic()) { mConfiguration.lookasideSlotCount = 0; mConfiguration.lookasideSlotSize = 0; } setMaxConnectionPoolSizeLocked(); } Loading Loading @@ -1004,7 +1010,10 @@ public final class SQLiteConnectionPool implements Closeable { printer.println("Connection pool for " + mConfiguration.path + ":"); printer.println(" Open: " + mIsOpen); printer.println(" Max connections: " + mMaxConnectionPoolSize); if (mConfiguration.isLookasideConfigSet()) { printer.println(" Lookaside config: sz=" + mConfiguration.lookasideSlotSize + " cnt=" + mConfiguration.lookasideSlotCount); } printer.println(" Available primary connection:"); if (mAvailablePrimaryConnection != null) { mAvailablePrimaryConnection.dump(indentedPrinter, verbose); Loading
core/java/android/database/sqlite/SQLiteDatabase.java +4 −0 Original line number Diff line number Diff line Loading @@ -2366,6 +2366,10 @@ public final class SQLiteDatabase extends SQLiteClosable { * <p>SQLite default settings will be used, if this method isn't called. * Use {@code setLookasideConfig(0,0)} to disable lookaside * * <p><strong>Note:</strong> Provided slotSize/slotCount configuration is just a * recommendation. The system may choose different values depending on a device, e.g. * lookaside allocations can be disabled on low-RAM devices * * @param slotSize The size in bytes of each lookaside slot. * @param slotCount The total number of lookaside memory slots per database connection. */ Loading
core/java/android/database/sqlite/SQLiteDatabaseConfiguration.java +4 −0 Original line number Diff line number Diff line Loading @@ -180,4 +180,8 @@ public final class SQLiteDatabaseConfiguration { } return EMAIL_IN_DB_PATTERN.matcher(path).replaceAll("XX@YY"); } boolean isLookasideConfigSet() { return lookasideSlotCount >= 0 && lookasideSlotSize >= 0; } }
core/java/android/database/sqlite/SQLiteOpenHelper.java +4 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,10 @@ public abstract class SQLiteOpenHelper { * <p>SQLite default settings will be used, if this method isn't called. * Use {@code setLookasideConfig(0,0)} to disable lookaside * * <p><strong>Note:</strong> Provided slotSize/slotCount configuration is just a recommendation. * The system may choose different values depending on a device, e.g. lookaside allocations * can be disabled on low-RAM devices * * @param slotSize The size in bytes of each lookaside slot. * @param slotCount The total number of lookaside memory slots per database connection. */ Loading