2012-06-25 4 views
2

Я создаю приложение, которое загружает файлы HTML, хранящиеся на моем устройстве Android. Обычно файлы довольно большие (например, 6 МБ). Если я загружаю эти HTML-файлы, для их отображения требуется довольно много времени (от 20 до 25 секунд). Может ли кто-нибудь дать мне несколько советов о том, как улучшить это время загрузки? код, который я пытался до сих пор:Как улучшить производительность Android WebView?

final WebView webView = (WebView) findViewById(R.id.webView1); 
webView.loadUrl("file:///android_asset/content.html"); 
webView.getSettings().setCacheMode(<all cache modes>) 

Я попробовал это на Android 2.3 и 4.0, Android 4.0, выполняет на самом деле хуже, чем 2.3.

Любые подсказки о том, как повысить производительность?

+0

Вы загружаете изображения? Повысьте скорость загрузки файлов HTML. – slybloty

+0

можете ли вы разместить content.html? Если он вызывает ссылки из сети, определенно может замедлить работу. Также вы можете взглянуть на использование loadData или loadDataWithBaseURL. http://developer.android.com/reference/android/webkit/WebView.html#loadDataWithBaseURL%28java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String,% 20java.lang.String% 29 – MikeIsrael

+0

@slybloty Да, есть также изображения в HTML. Любые подсказки, как ускорить/улучшить загрузку? изменение HTMl должно быть последней мерой в связи с защищенным авторским правом контентом, но если нет другого пути, то я попробую ... какие-либо намеки на то, как достичь этого? – bvanvelsen

ответ

0

ОК, поэтому попробуйте метод loadData, это может быть немного быстрее.

String summary; 

...//convert your file to a string and store in summary variable 

webview.loadData(summary, "text/html", null); 
1

Действительно широкая дискуссия. Возможно, вам нужно быть более конкретным. Так вот он идет ....

  1. В общей скорости до ваших страниц - http://developer.yahoo.com/performance/rules.html

  2. При загрузке более одного файла в момент нагрузки асинхронно --http: //developer.android. ком/ссылки/Android/OS/AsyncTask.html

  3. Минимизировать снимки, если это вообще возможно, или загружать их последний

  4. общественной недействительным loadDataWithBaseURL (String BaseUrl, строковые данные, String MIMETYPE, кодирование String, St ring historyUrl) и кешировать его для последующего использования для более быстрой загрузки 2 или 3 раза

Смежные вопросы