You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vivo Android 12设备dispatchTouchEvent()空指针崩溃求助

求助:Vivo Android 12设备上出现Firebase Crashlytics空指针崩溃

Firebase Crashlytics捕获到仅在Vivo品牌Android 12系统设备上出现的如下空指针崩溃,恳请各位提供技术帮助。

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
       at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:626)
       at android.view.View.dispatchPointerEvent(View.java:14961)
       at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6799)
       at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6565)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6022)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6089)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6050)
       at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6223)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6058)
       at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6280)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6026)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6089)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6050)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6058)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6026)
       at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:9119)
       at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9070)
       at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9016)
       at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9254)
       at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:276)
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:339)
       at android.os.Looper.loopOnce(Looper.java:186)
       at android.os.Looper.loop(Looper.java:334)
       at android.app.ActivityThread.main(ActivityThread.java:8348)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:582)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1065)

问题分析

  • 崩溃发生在系统DecorView的触摸事件分发流程中,核心原因是调用了空对象的toString()方法,属于系统层触发的空指针异常。
  • 仅在Vivo Android 12设备上出现,大概率是该品牌系统的定制化修改导致触摸事件逻辑存在兼容性漏洞,或是应用代码在该系统环境下触发了未预期的对象空值场景。

可能的解决方向

  • 排查应用内所有自定义触摸逻辑(如OnTouchListener、GestureDetector、自定义View的触摸处理),确保相关对象在事件传递过程中未被提前释放或未正确初始化。
  • 在页面生命周期销毁时(如onDestroy),主动清理所有触摸相关的监听器引用,避免内存泄漏或空引用残留。
  • 针对Vivo Android 12设备增加适配:在触摸事件处理的关键节点添加空值判断,或用try-catch包裹风险代码,阻断崩溃扩散。
  • 升级Firebase Crashlytics SDK至最新版本,确认是否有针对此类系统兼容性问题的修复。
  • 尝试获取同款Vivo设备复现问题,结合调试工具定位具体触发场景(如特定触摸操作、页面状态)。

内容的提问来源于stack exchange,提问作者Ab Morphious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:35:27