Closed Harreke closed 5 years ago
我代码逻辑里有一段, 检测后会把listener置空的操作
在调用listener的findSuspect()之前,是否可以先进行一次非空判断? 因为可能存在这样一种情况,就是使用软件进行多开,先启动App(记为A1),再多开(记为A2),A1或者A2检测到多开后,就把listener清空了;这时候再进行一次多开,那么A1、A2就有可能再次尝试调用findSuspect()回调而遇到而发生空指针错误
『先启动App(记为A1),再多开(记为A2),A1或者A2检测到多开后,就把listener清空了』----这一步没问题
『这时候再进行一次多开,那么A1、A2就有可能再次尝试调用findSuspect()回调而遇到而发生空指针错误』----如果还进行多开,那不就正好空指针崩溃么?
这样吧,我这几天把逻辑改一下,把callback全部交给开发者自己处理,我不清空了。
突然产生了大量空指针问题,貌似都是发生在按back键退出app的时候发生的 崩溃率很大,可否尽快加入非空判断?
是在Application初始化时调用的,具体kotlin代码如下:
if (ProcessUtil.isMainProcess(application)) {
VirtualApkCheckUtil.getSingleInstance().checkByPortListening(application.packageName) {
Log.e("Application", "find multiapp suspect")
DeviceInfo = generateDeviceInfo(application, true)
}
}