Invoke close() method for BatteryUsageStats to close cursor window
- Invoke close() method for BatteryUsageStats to close cursor window, avoid OOM. Bug: 245385410 Test: make SettingsRoboTests Change-Id: I68f36a42a33d2546cb191cec88f5431e24dd5b84
This commit is contained in:
@@ -161,6 +161,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController
|
||||
public void onPause() {
|
||||
mParent.getLoaderManager().destroyLoader(
|
||||
AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS);
|
||||
closeBatteryUsageStats();
|
||||
}
|
||||
|
||||
private void loadBatteryDiffEntries() {
|
||||
@@ -249,6 +250,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController
|
||||
@Override
|
||||
public void onLoadFinished(Loader<BatteryUsageStats> loader,
|
||||
BatteryUsageStats batteryUsageStats) {
|
||||
closeBatteryUsageStats();
|
||||
mBatteryUsageStats = batteryUsageStats;
|
||||
AppBatteryPreferenceController.this.onLoadFinished();
|
||||
}
|
||||
@@ -257,4 +259,16 @@ public class AppBatteryPreferenceController extends BasePreferenceController
|
||||
public void onLoaderReset(Loader<BatteryUsageStats> loader) {
|
||||
}
|
||||
}
|
||||
|
||||
private void closeBatteryUsageStats() {
|
||||
if (mBatteryUsageStats != null) {
|
||||
try {
|
||||
mBatteryUsageStats.close();
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "BatteryUsageStats.close() failed", e);
|
||||
} finally {
|
||||
mBatteryUsageStats = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user