android - 为什么webview在第一次加载的时候很慢?
问题描述
在使用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/arm6405-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 = 005-05 20:57:19.015 I/cr_BrowserStartup: Initializing chromium process, singleProcess=true05-05 20:57:19.153 E/ActivityThread: Failed to find provider info for com.google.settings05-05 20:57:19.197 D/cr_Ime: [InputMethodManagerWrapper.java:30] Constructor05-05 20:57:19.210 W/cr_AwContents: onDetachedFromWindow called when already detached. Ignoring05-05 20:57:19.211 D/cr_Ime: [InputMethodManagerWrapper.java:59] isActive: false05-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的响应速度吗?
问题解答
回答1:webview也是一个浏览器,需要下载文件,后面有了缓存自然变快。
优化不外乎按需加载,压缩之类的。基本浏览器可以用的优化,这里也用上就好了。
回答2:可以预开启webview并设置1像素的高和宽,并且预加载很多静态资源,国内有不少app就是这样做的,用户体验非常好。
相关文章:
1. php - 微信开发验证服务器有效性2. vim中编辑HTML文件时换行不能缩进3. javascript - Ajax返回json格式之后的数据解析后取出来的数据为undefined?4. java导入问题5. css - 文字排版问题,内容都是动态抓出来的,字数不一定。如何对齐啊6. 正则表达式 - Java:字符串替换带序号7. css3 - 微信前端页面遇到的transition过渡动画的bug8. 网页爬虫 - 关于Python的编码与解码问题9. git - 在web应用分布式部署的情况下怎么进行配置更新10. 前端 - WebStrom安装了angularjs插件,但是没有语法提示

网公网安备