Open yangbo5207 opened 6 years ago
大致上知道什么什么导致的,要完全修正这个问题,要改初始化接口的调用方式才行
@qiuxiang 可以先大概指导一下修改思路吗,线上的bug比较着急 ~ ~
原因是因为 promise 只能调用一次 resolve 或 reject,可能在某种情况下,一次初始化操作会触发 1 次以上的广播,这时候,第二次 resolve 或 reject 就会出错。最佳的解决方法是,Initializer 提供广播事件,而不是 promise 回调,但如果你要快速解决崩溃的问题,给 onReceive 里面的代码加上 try catch 就可以了,至少不会崩溃,但 promise 返回的状态就是不准的,不过在保证 key 没有问题的情况下,可以认为 init 总是成功的。
使用bugly获取到的日志如下:
大概能够定位到的问题代码是在BaiduMapInitializerModule这个模块里,如下19行,具体为什么还不太清楚,希望大佬能够帮助解决一下