From b35b34c7612dc5c73502bd286b1f9c9041a0518a Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Thu, 17 Dec 2015 14:16:51 -0800 Subject: [PATCH] Use buffering when reading preferred apps On my test, a buffered version takes 10ms in contrast to 80 ms. Bug: 26237300 Change-Id: I91ae05798672d243873e7447261156d5ebf3b045 --- services/core/java/com/android/server/pm/Settings.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index 22f8e96ce69df..c40a14d09ab91 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -65,7 +65,9 @@ import com.android.server.backup.PreferredActivityBackupHelper; import com.android.server.pm.PackageManagerService.DumpState; import com.android.server.pm.PermissionsState.PermissionState; +import java.io.BufferedInputStream; import java.io.FileNotFoundException; +import java.io.InputStream; import java.util.Collection; import org.xmlpull.v1.XmlPullParser; @@ -2789,9 +2791,9 @@ final class Settings { } if (PackageManagerService.DEBUG_PREFERRED) Log.d(TAG, "Reading default preferred " + f); - FileInputStream str = null; + InputStream str = null; try { - str = new FileInputStream(f); + str = new BufferedInputStream(new FileInputStream(f)); XmlPullParser parser = Xml.newPullParser(); parser.setInput(str, null);