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
This commit is contained in:
Kenny Root
2010-09-26 11:19:47 -07:00
parent d45a33554c
commit 9f306d78a4

View File

@@ -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()) {