在使用webview
的時候發現,app在第一次啟動有webview的fragment的時候回應很慢,而後續再次開啟卻不是同樣慢
05-05 20:57:18.721 I/WebViewFactory: Loading com.google.android.webview version 51.0.2704.81 (code 270408150)
05-05 20:57:18.897 W/System: ClassLoader referenced unknown path: /system/app/WebViewGoogle/lib/arm64
05-05 20:57:18.919 I/cr_LibraryLoader: Time to load native libraries: 14 ms (timestamps 7291-7305)
05-05 20:57:18.919 I/cr_LibraryLoader: Expected native library version number "51.0.2704.81", actual native library version number "51.0.2704.81"
05-05 20:57:18.939 V/WebViewChromiumFactoryProvider: Binding Chromium to main looper Looper (main, tid 1) {20922c4}
05-05 20:57:18.940 I/cr_LibraryLoader: Expected native library version number "51.0.2704.81", actual native library version number "51.0.2704.81"
05-05 20:57:18.941 I/chromium: [INFO:library_loader_hooks.cc(143)] Chromium logging enabled: level = 0, default verbosity = 0
05-05 20:57:19.015 I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
05-05 20:57:19.153 E/ActivityThread: Failed to find provider info for com.google.settings
05-05 20:57:19.197 D/cr_Ime: [InputMethodManagerWrapper.java:30] Constructor
05-05 20:57:19.210 W/cr_AwContents: onDetachedFromWindow called when already detached. Ignoring
05-05 20:57:19.211 D/cr_Ime: [InputMethodManagerWrapper.java:59] isActive: false
05-05 20:57:19.217 D/EgretLoader: EgretLoader(Context context)
05-05 20:57:19.224 D/EgretLoader: The context is not activity
查看logcat
發現只有第一次載入的時候會執行上方這些操作,有什麼辦法可以提高第一次開啟webview的回應速度嗎?
webview也是一個瀏覽器,需要下載文件,後面有了快取自然變快。
優化不外乎按需加載,壓縮之類的。基本瀏覽器可以用的優化,這裡也用就好了。
可以預開啟webview並設定1像素的高與寬,並且預先載入很多靜態資源,國內有不少app就是這樣做的,使用者體驗非常好。