完美解决客户端webview持有的页面缓存,不会立即释放的问题
作者:jingxian 发布时间:2021-09-23 03:30:50
标签:android,webview,释放
安卓和苹果的客户端开发中,经常会使用到webview,我们一般做法是将webview加入到native页面中。
当我们对页面进行销毁的时候,其中webview持有的HTML页面还会继续存在,加入我们在HTML页面中做了一些监听手机晃动、声音…… 以及使用了js定时任务的情况下。
单纯的销毁我们的native页面并不能达到让页面中这些内容停止执行。
所以在小会native页面之前,将webview的页面设置问空页面即可,如下是安卓代码,苹果的处理方法一样:
@Override
public void finish() {
// 当我们对Activity进行finish的时候,webview持有的页面并不会立即释放,如果页面中有在执行js等其他操作,仅仅进行finish是完全不够的。
mWebView.loadUrl("about:blank");
super.finish();
}


猜你喜欢
- 依赖的jar包:spring相关jar包版本:4.3.1.RELEASE<dependency> &l
- 前言继上次skywalking出故障《解析Arthas协助排查线上skywalking不可用问题》不到一个月,线上skywalking又出毛
- 延伸:以后除了可以为实体类注入属性,还可以为配置类注入相关的配置信息1.编写实体类@Component@ConfigurationPrope
- 刚学习c#的朋友要自己手动编译c#代码加深记忆,现在总结下如果手动编译!1、先找到系统的.net 环境在一般在 C:\Window
- 微信公众号开发一般是针对企业和组织的,个人一般只能申请订阅号,并且调用的接口有限,下面我们就来简单的描述下接入公众号的步骤:1、首先你需要一
- 开发中有时候需要自己封装分页排序时,List如何对某一属性排序呢,分享一个小实例,大家共勉,希望能对大家有用,请多多指教。1.Student
- 测试类中的问题和解决思路问题在测试类中,每个测试方法都有以下两行代码:ApplicationContext ac = new ClassPa
- 一、编译环境spring5.0.x源码gradle4.9jdk1.8_151IntelliJ IDEA 2020.1二、安装gradle1、
- 异常处理机制1、抛出异常2、捕获异常3、异常处理五个关键字:try、catch、finally、throw、throws注意:假设要捕获多个
- SlidingDrawer效果想必大家也见到过,它就是1.5模拟器上进入应用程序列表的效果。下面是截图一、简介 SlidingDr
- 目录:DioManager:Dio辅助类NWMethod:请求方法,get、post等NWApi:大家都知道EntityFactory:js
- 关于隐藏和覆盖的区别,要提到RTTI(run-time type identification)(运行期类型检查),也就是运行期的多态,当一
- 在C#语言中,DateTime是用来表示时间的类,在C#的DateTime时间类中,提供了好像时间对象加减法操作,可用于某一个时间对象加减
- AlertDialog可以在当前的界面上显示一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此AlertD
- 大家好,这是 C# 9.0 新特性短系列的第 5 篇文章。弃元(Discards) 是在 C# 7.0 的时候开始支持的,它是一种人为丢弃不
- Java注解介绍基于注解(Annotation-based)的Java开发无疑是最新的开发趋势.[译者注: 这是05年的文章,在2014年,
- 前端使用的是vue+elementui,这款系统只适合学习巩固SpringBoot+VUE,后面还要在这上面加校园公告、校园零食等功能,后期
- XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识
- 如下所示:from jpype import *jvmPath = getDefaultJVMPath()jars = ["./F
- 创建maven父子工程时遇到一个问题,当子工程的名称前缀和父工程的名称一样时,子工程会出现一系列的问题。比如我的父工程名称是microser