Merge "Add BinaryDictionary.flushWithGCIfHasUpdated()."

main
Keisuke Kuroyanagi 2014-04-22 00:10:42 +00:00 committed by Android (Google) Code Review
commit 3acbf7d00c
2 changed files with 11 additions and 1 deletions

View File

@ -460,6 +460,7 @@ public final class BinaryDictionary extends Dictionary {
dictFile.length(), mIsUpdatable); dictFile.length(), mIsUpdatable);
} }
// Flush to dict file if the dictionary has been updated.
public void flush() { public void flush() {
if (!isValidDictionary()) return; if (!isValidDictionary()) return;
if (mHasUpdated) { if (mHasUpdated) {
@ -468,6 +469,14 @@ public final class BinaryDictionary extends Dictionary {
} }
} }
// Run GC and flush to dict file if the dictionary has been updated.
public void flushWithGCIfHasUpdated() {
if (mHasUpdated) {
flushWithGC();
}
}
// Run GC and flush to dict file.
public void flushWithGC() { public void flushWithGC() {
if (!isValidDictionary()) return; if (!isValidDictionary()) return;
flushWithGCNative(mNativeDict, mDictFilePath); flushWithGCNative(mNativeDict, mDictFilePath);

View File

@ -515,7 +515,8 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
createBinaryDictionaryLocked(); createBinaryDictionaryLocked();
openBinaryDictionaryLocked(); openBinaryDictionaryLocked();
loadInitialContentsLocked(); loadInitialContentsLocked();
mBinaryDictionary.flushWithGC(); // Run GC and flush to file when initial contents have been loaded.
mBinaryDictionary.flushWithGCIfHasUpdated();
} }
private void flushDictionaryLocked() { private void flushDictionaryLocked() {