2010-10-01 82 views
1

我的Android應用程序在運行過程中隨機出現此故障,我認爲這是由於掛起的MotionEvent被分派到空對象,但不確定。如何解決由於掛起MotionEvent導致的Android WebView崩潰

這裏是崩潰輸出:

java.lang.NullPointerException 
at android.webkit.BrowserFrame.getRequestInterceptor(BrowserFrame.java:1108) 
at android.webkit.FrameLoader.handleRequestIntercept(FrameLoader.java:426) 
at android.webkit.FrameLoader.handleHTTPLoad(FrameLoader.java:226) 
at android.webkit.WebViewWorker.handleMessage(WebViewWorker.java:124) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:143) 
at android.os.HandlerThread.run(HandlerThread.java:60) 

我的Android應用程序手動創建一個自定義的WebView,並把它添加到的ViewGroup在Activity.onCreate()方法是這樣的:

ViewGroup groupA = (ViewGroup)findViewById(R.id.frame_layout_rowA); 
webViewRowA = new MyWebView(this); 
groupA.addView(webViewRowA); 

的這樣做的理由是能夠到達WebView的構造函數,以便將getApplicationContext()而不是這個傳遞給構造函數,這是一個工作區在2.1中發生內存泄漏。

我認爲問題在於此活動經常重新啓動。這導致onStop(),onDestroy(),onCreate()等常規鏈經常發生。

所以我的問題是,崩潰可能是由於一個MotionEvent被調度到MyWebView的一個實例,該實例已附加到已被垃圾收集的舊Activity上?比如用戶在這個活動被回收之前在webview中點擊了什麼?

另一個要注意的是我看到這些消息之後到的onDestroy()的調用

/webviewglue( 436): nativeDestroy view: 0xd738d0 

任何幫助或洞察力的人可能有,將不勝感激。我一直在這個問題上已經有一段時間了。

哦,還有一件事要注意....這開始發生在Android OS 2.2中。我向Google提交了一個錯誤,但不確定這是他們的問題。

在此先感謝。

回答

0

安卓市場每週給我360個關於這個問題的報道。

問題是,我的webview甚至不是即時創建的。

我發現這個網站:https://code.google.com/p/android/issues/detail?id=11533

仍在等待答覆。

它看起來像它與某些手機型號有關。你能否複製這個問題?我從來沒有能力。

謝謝 rafa

相關問題