专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
今天看啥  ›  专栏  ›  鸿洋

WebView 经历的各种干货方案分享

鸿洋  · 公众号  · android  · 2024-11-28 08:35

主要观点总结

本文介绍了作者开发过程中对WebView的一些实践思路,包括WebView的基础封装、缓存管理、生命周期回调、复用池回收复用、网页秒开、图片懒加载、白屏检测等。文章还分享了WebView独立进程及跨进程通信的实现,并提供了相应的源码。作者通过分享这些思路,旨在提高WebView的加载速度和性能,提升用户体验。

关键观点总结

关键观点1: WebView基础封装

包括设置WebSettings、WebUtil工具类以及WebChromeClient和WebViewClient的封装。

关键观点2: WebView缓存管理

使用Glide加载图片,实现网页资源的缓存管理。

关键观点3: WebView生命周期回调

在BaseWebView中实现了onResume、onPause、onDestroy等生命周期方法。

关键观点4: WebView复用池回收复用

创建WebViewPool类,实现WebView的复用和回收。

关键观点5: 网页秒开和图片懒加载

使用本地模板和jquery.lazyload.js实现网页秒开和图片懒加载。

关键观点6: 白屏检测

通过检测WebView截图中的像素点来实现白屏检测。


文章预览

本文作者 作者: 孙先森Blog 链接: https://juejin.cn/post/7143025767268810759 本文由作者授权发布。 1 前言 来掘金的第一篇博客,分享下自己开发过程中对 WebView 的一些实践思路。后续也会随缘在掘金更新博客,方便自己回忆的同时也能够跟大家互相交流。 WebView 系列将从零开始构建一个 Demo,所以一些不重要的代码写的略为粗糙,重在分享思路,本次博客源码会放在本系列博客最后一篇里,如有设计不足,请大家多多指教 🙏 🙏 🙏 2 新建工程 用 AS 新建一个 Demo 工程,并且创建一个 Module 用于存放 WebView 相关代码,app 工程依赖 module_web 。 3 WebView 基础封装 基础设置 WebSettings 新建一个工具类对 WebView 进行一些基础设置,后面用。 object  WebUtil {      /**      * 获取 WebView 缓存文件目录      */      fun   getWebViewCachePath (context:  Context ) : String{   ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览