| Index: chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
| index 08ed6fa80406b9a65899923bf6704ec3cc76e81a..554602b1dc6979f8038e0666411f463263cb76b6 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
| @@ -7,6 +7,7 @@ package org.chromium.chrome.browser.init;
|
| import android.app.Activity;
|
| import android.content.Context;
|
| import android.os.AsyncTask;
|
| +import android.os.Build;
|
| import android.os.Handler;
|
| import android.os.Looper;
|
| import android.os.Process;
|
| @@ -160,13 +161,25 @@ public class ChromeBrowserInitializer {
|
| }
|
|
|
| /**
|
| - * Pre-load shared prefs to avoid being blocked on the
|
| - * disk access async task in the future.
|
| + * Pre-load shared prefs to avoid being blocked on the disk access async task in the future.
|
| + * Running in an AsyncTask as pre-loading itself may cause I/O.
|
| */
|
| private void warmUpSharedPrefs() {
|
| - PreferenceManager.getDefaultSharedPreferences(mApplication);
|
| - DocumentTabModelImpl.warmUpSharedPrefs(mApplication);
|
| - ActivityAssigner.warmUpSharedPrefs(mApplication);
|
| + if (Build.VERSION.CODENAME.equals("N")) {
|
| + new AsyncTask<Void, Void, Void>() {
|
| + @Override
|
| + protected Void doInBackground(Void... params) {
|
| + PreferenceManager.getDefaultSharedPreferences(mApplication);
|
| + DocumentTabModelImpl.warmUpSharedPrefs(mApplication);
|
| + ActivityAssigner.warmUpSharedPrefs(mApplication);
|
| + return null;
|
| + }
|
| + }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
| + } else {
|
| + PreferenceManager.getDefaultSharedPreferences(mApplication);
|
| + DocumentTabModelImpl.warmUpSharedPrefs(mApplication);
|
| + ActivityAssigner.warmUpSharedPrefs(mApplication);
|
| + }
|
| }
|
|
|
| private void preInflationStartup() {
|
|
|