From 9f306d78a4adae80989eecb411af454225ff55a9 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sun, 26 Sep 2010 11:19:47 -0700 Subject: [PATCH] Use buffered output during packages.xml write FileOutputStream writes data one byte at a time, so use the BufferedOutputStream to wrap it and write once all the XML serialization is done. Change-Id: I419a6fcac2ac9a72a6cf41d4ca6e7ab6c7505618 --- services/java/com/android/server/PackageManagerService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index 4c15c940eff7f..72daa6438155a 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -91,6 +91,7 @@ import android.util.*; import android.view.Display; import android.view.WindowManager; +import java.io.BufferedOutputStream; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; @@ -8304,7 +8305,8 @@ class PackageManagerService extends IPackageManager.Stub { mPastSignatures.clear(); try { - FileOutputStream str = new FileOutputStream(mSettingsFilename); + BufferedOutputStream str = new BufferedOutputStream(new FileOutputStream( + mSettingsFilename)); //XmlSerializer serializer = XmlUtils.serializerInstance(); XmlSerializer serializer = new FastXmlSerializer(); @@ -8401,7 +8403,7 @@ class PackageManagerService extends IPackageManager.Stub { File tempFile = new File(mPackageListFilename.toString() + ".tmp"); JournaledFile journal = new JournaledFile(mPackageListFilename, tempFile); - str = new FileOutputStream(journal.chooseForWrite()); + str = new BufferedOutputStream(new FileOutputStream(journal.chooseForWrite())); try { StringBuilder sb = new StringBuilder(); for (PackageSetting pkg : mPackages.values()) {