Close idle connections to release RAM
Close idle connections after 30s of inactivity to release RAM.
Savings: ~0.4mb on marlin
Bug: 63398887
Test: reboot and dumpsys meminfo system
Change-Id: I39aa1fef9ae9850564a13891cb89c27cb805d683
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsStorage.java b/services/core/java/com/android/server/locksettings/LockSettingsStorage.java
index b4c10ec..70d6072 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsStorage.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsStorage.java
@@ -713,12 +713,15 @@
private static final String DATABASE_NAME = "locksettings.db";
private static final int DATABASE_VERSION = 2;
+ private static final int IDLE_CONNECTION_TIMEOUT_MS = 30000;
private Callback mCallback;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
setWriteAheadLoggingEnabled(true);
+ // Memory optimization - close idle connections after 30s of inactivity
+ setIdleConnectionTimeout(IDLE_CONNECTION_TIMEOUT_MS);
}
public void setCallback(Callback callback) {
diff --git a/services/core/java/com/android/server/notification/NotificationUsageStats.java b/services/core/java/com/android/server/notification/NotificationUsageStats.java
index c8f4d31..e40dad6 100644
--- a/services/core/java/com/android/server/notification/NotificationUsageStats.java
+++ b/services/core/java/com/android/server/notification/NotificationUsageStats.java
@@ -1059,6 +1059,9 @@
private static final int EVENT_TYPE_CLICK = 2;
private static final int EVENT_TYPE_REMOVE = 3;
private static final int EVENT_TYPE_DISMISS = 4;
+
+ private static final int IDLE_CONNECTION_TIMEOUT_MS = 30000;
+
private static long sLastPruneMs;
private static long sNumWrites;
@@ -1141,6 +1144,12 @@
}
@Override
+ public void onConfigure(SQLiteDatabase db) {
+ // Memory optimization - close idle connections after 30s of inactivity
+ setIdleConnectionTimeout(IDLE_CONNECTION_TIMEOUT_MS);
+ }
+
+ @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion != newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TAB_LOG);