来自 Webview 的 Java 空指针异常
Posted
技术标签:
【中文标题】来自 Webview 的 Java 空指针异常【英文标题】:Java nullpointer exception from Webview 【发布时间】:2015-03-23 12:52:22 【问题描述】:我试图搜索这个问题,但这个错误看起来与this error 不一样(我的 google play 版本较新,请注意该错误位于 WebViewClassic 的不同行,因此可能是不同的错误或在较新版本中相同)但我从 webview 收到完全相同的错误异常
java.lang.NullPointerException
at android.webkit.WebViewClassic$WebViewInputConnection.setNewText(WebViewClassic.java:583)
at android.webkit.WebViewClassic$WebViewInputConnection.setComposingText(WebViewClassic.java:323)
at android.webkit.WebViewClassic$WebViewInputConnection.commitText(WebViewClassic.java:339)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:279)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5297)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
但是我没有直接使用任何 webview 类。但是,这个问题可能与 AdView 有关,但我不明白如何。我的代码如下:
@Override
public void onPause()
//TODO: these lines are created because onPuase of Adview doesn't work
if ( adView != null )
adView.pause();
adView.destroy();
adView = null;
Log.i(ApplicationData.APP_TAG, TAG + ": OnPause, pausing the Adview");
super.onPause();
错误出现在 Log.i 行之后,我原以为在调用 AdView 时会出现此错误,但之后不会出现。此错误是否可能来自线程操作?知道如何避免这个问题吗?
【问题讨论】:
【参考方案1】:以https://developer.android.com/reference/com/google/android/gms/ads/AdView.html 中的示例和AdView.destroy()
的文档为例,您应该只在onPause()
中调用adView.pause()
,然后在onDestroy()
中调用adView.destroy()
。
堆栈转储看起来像另一个线程正在访问被破坏的AdView
实例。
【讨论】:
嗯...对于 webview 的例外情况,稍后调用此方法将如何避免该问题?我的意思是......对于我遇到的那种错误,为什么它可能来自我们所处的 Activity 状态? 看起来Handler
仍在向WebViewClassic
发送消息,WebViewClassic
被封装在已销毁的AdView
中。
嗯....你可能有一点。我将在生产中进行测试,如果可行,接受问题!!!!
目前没有问题。我认为是解决方案!
一个新问题正在发生......不同的是,我创建了一个新问题。很奇怪...***.com/questions/28856883/…以上是关于来自 Webview 的 Java 空指针异常的主要内容,如果未能解决你的问题,请参考以下文章