

個人の趣味としてAndroidアプリの開発をしています。  
ブラウザアプリを配信しているのですが、「ANRとクラッシュ」で報告される下記のエラーについて、どのように対応すべきか理解ができません。  
このようなAndroid側のクラスで発生しているエラーについてどのように対応をすすめるべきか、ヒントだけでもよいので助言をいただけると大変助かります。

ちなみに自身で毎日使用してもエラーが特に発生していないので、イレギュラーなケースで発生するものと思われます。  
OSはAndroid5〜7まで報告があり、特に特定のOSや端末に集中しているわけではないようです。

[code]

    java.lang.NullPointerException: 
      at android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.run (ViewRootImpl.java:7154)
      at android.os.Handler.handleCallback (Handler.java:739)
      at android.os.Handler.dispatchMessage (Handler.java:95)
      at android.os.Looper.loop (Looper.java:148)
      at android.app.ActivityThread.main (ActivityThread.java:5417)
      at java.lang.reflect.Method.invoke (Native Method)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726)
      at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)
    
[/code]


CC BY-SA 3.0
2017-09-09T05:33:05.910
37828
2018-09-19T13:00:01.480
25298
question
android
AndroidのANRとクラッシュの対応方法について


Frameworkの不具合だと思います。  
↓がFixコミットです(8.0以降に入っています)。

<https://github.com/aosp-
mirror/platform_frameworks_base/commit/478cb9746a57ba8f5a596ef941c936faa7c74784>

TYPE_WINDOW_CONTENT_CHANGEDというAccessibilityEventを発行する処理が、マルチスレッドでコールされた場合に該当のエラーが発生するケースがありそうです。

<https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html#TYPE_WINDOW_CONTENT_CHANGED>

TYPE_WINDOW_CONTENT_CHANGEDはViewの追加や削除、サイズ変更等があった際に発生するイベントです。


CC BY-SA 3.0
2017-12-05T07:08:41.700
40051
2017-12-05T07:08:41.700
26349
37828
answer