关于android webview js桥(addJavascriptInterface) 失效的问题

来源:互联网 发布:设置数据选择 编辑:程序博客网 时间:2024/05/29 08:11

android webview中可以通过addJavascriptInterface将一个对象加入到webview中作为js方法供js调用,从而实现js与java的通信。

但当程序被切入后台,后来启动的程序比较占内存,当webview被回收后,如果webView.setSaveEnabled(true);(默认是什么还没看),回收的时候会保存状态,如果再次启动的时候会带入所保存的状态,当调用js桥中的方法时,会查找原来的js桥对象,但回收的时候只是保存了view的状态,js桥对象被销毁了,虽然在此加载页面的时候又new了一个,并通过addJavascriptInterface加入进去,但由于保存了状态,查找的还是原来那个,所以找不到也就失效了。

所以如果用到addJavascriptInterface,请将webView.setSaveEnabled(false),回收webview的时候不保存状态就可以避免这个问题。

写的比较罗嗦,较乱,希望能够说明白。

0 0
原创粉丝点击