Мое приложение Android испытывает этот сбой случайным образом во время работы, и я думаю, что это происходит из-за ожидающего события MotionEvent, которое отправляется на нулевой объект, но не уверен.
вот вывод сбоя:
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 () вместо this в конструктор, который был обходным путем для утечки памяти в 2.1.
Проблема, я думаю, в том, что это действие часто перезапускается.Это приводит к тому, что обычные цепочки onStop (), onDestroy (), onCreate () и т. Д. Происходят часто.
Итак, мой вопрос: могут ли сбои быть вызваны отправкой MotionEvent к экземпляру MyWebView, который был присоединен к старому действию, которое было собрано мусором?Например, если пользователь щелкнул что-то в веб-просмотре прямо перед тем, как эта операция была переработана?
Еще одна вещь, на которую стоит обратить внимание: я вижу эти сообщения после вызова onDestroy ()
/webviewglue( 436): nativeDestroy view: 0xd738d0
Буду очень признателен за любую помощь или понимание кого-либо.Я уже давно решаю эту проблему.
О, еще одна вещь, на которую стоит обратить внимание ... это начало происходить в Android OS 2.2.Я отправил сообщение об ошибке в Google, но не уверен, что это их проблема.
Заранее спасибо.