uni-app WXSDKInstance.getInstanceId() 空指针导致的闪退问题
uni-app WXSDKInstance.getInstanceId() 空指针导致的闪退问题
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 10.15.2 | HBuilderX |
Android | 10 | |
华为 | ||
小米9 |
操作步骤:
- 属于偶现问题,没有固定复现路径
预期结果:
- 不产生崩溃
实际结果:
- 空指针,导致App 崩溃
bug描述:
bugly上抓到的日志:
Attempt to invoke virtual method 'java.lang.String com.taobao.weex.WXSDKInstance.getInstanceId()' on a null object reference
com.taobao.weex.ui.action.BasicGraphicAction.executeActionOnRender(BasicGraphicAction.java:55)
com.taobao.weex.ui.component.WXComponent.updateStyleByPesudo(WXComponent.java:2302)
com.taobao.weex.ui.component.WXComponent.setPseudoClassStatus(WXComponent.java:2297)
com.taobao.weex.ui.component.WXComponent.updateActivePseudo(WXComponent.java:2259)
com.taobao.weex.ui.component.pesudo.TouchActivePseudoListener.onTouch(TouchActivePseudoListener.java:41)
更多关于uni-app WXSDKInstance.getInstanceId() 空指针导致的闪退问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
更多关于uni-app WXSDKInstance.getInstanceId() 空指针导致的闪退问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
weex 官网找到了这个issues
请问楼主解决了吗,遇到同样的问题,非常着急
这是一个典型的Weex SDK空指针异常问题,主要发生在组件触摸事件处理时。从日志看,当调用WXSDKInstance.getInstanceId()时,实例对象为null导致崩溃。
可能的原因:
- 组件已被销毁但触摸事件仍在处理
- Weex实例被提前释放
- 异步操作导致状态不一致
快速解决方案:
- 在调用getInstanceId()前增加空判断:
if(instance != null) {
String instanceId = instance.getInstanceId();
}