diff --git a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/AndroidDebuggerServiceImpl.java b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/AndroidDebuggerServiceImpl.java index 97e4250..9418373 100644 --- a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/AndroidDebuggerServiceImpl.java +++ b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/AndroidDebuggerServiceImpl.java @@ -118,25 +118,27 @@ public class AndroidDebuggerServiceImpl extends AbstractDebuggerService { @Override public boolean recordDevicePer(DebuggerDeviceInfo info) { - AndroidDeviceInfoByPackageThread androidDeviceInfoByPackageThread = queryDeviceInfoByPackageMap.get(info.getCaseId()); - if (androidDeviceInfoByPackageThread == null || !androidDeviceInfoByPackageThread.isAlive() || androidDeviceInfoByPackageThread.isInterrupted()) { - logger.debug("开始记录任务【{}】的应用的参数。。。。。。。。。。", info.getCaseId()); - androidDeviceInfoByPackageThread = new AndroidDeviceInfoByPackageThread(info); - androidDeviceInfoByPackageThread.start(); - queryDeviceInfoByPackageMap.put(info.getCaseId(), androidDeviceInfoByPackageThread); + AndroidDeviceInfoByPackageThread androidDeviceInfoByPackageThread = queryDeviceInfoByPackageMap.get(info.getDeviceId()); + if (androidDeviceInfoByPackageThread != null) { + logger.debug("记录设备【{}】的应用的性能在任务【{}】中已经存在,干掉上一个。。。。。。。。。。", info.getDeviceId(),info.getCaseId()); + androidDeviceInfoByPackageThread.stopThread(); } else { - logger.debug("记录任务【{}】的应用的参数线程已经存在,无需创建新的。。。。。。。。。。", info.getCaseId()); + logger.debug("记录设备【{}】的应用的性能线程不存在。。。。。。。。。。", info.getDeviceId()); } + logger.debug("开始记录设备【{}】任务【{}】的应用的参数。。。。。。。。。。", info.getDeviceId(),info.getCaseId()); + androidDeviceInfoByPackageThread = new AndroidDeviceInfoByPackageThread(info); + androidDeviceInfoByPackageThread.start(); + queryDeviceInfoByPackageMap.put(info.getDeviceId(), androidDeviceInfoByPackageThread); AndroidDeviceAllInfoThread androidDeviceAllInfoThread = queryDeviceInfoMap.get(info.getCaseId()); - if (androidDeviceAllInfoThread == null || !androidDeviceAllInfoThread.isAlive() || androidDeviceAllInfoThread.isInterrupted()) { - logger.debug("开始记录任务【{}】的设备的参数。。。。。。。。。。", info.getCaseId()); - androidDeviceAllInfoThread = new AndroidDeviceAllInfoThread(info); - androidDeviceAllInfoThread.start(); - queryDeviceInfoMap.put(info.getCaseId(), androidDeviceAllInfoThread); + if (androidDeviceAllInfoThread != null ) { + logger.debug("记录设备【{}】的性能数据,任务【{}】已经存在。。。。。。。。。。", info.getDeviceId(),info.getCaseId()); + androidDeviceAllInfoThread.stopThread(); } else { - logger.debug("记录任务【{}】的设备的参数线程已经存在,无需创建新的。。。。。。。。。。", info.getCaseId()); + logger.debug("记录设备【{}】性能线程不存在。。。。。。。。。。", info.getDeviceId()); } - + androidDeviceAllInfoThread = new AndroidDeviceAllInfoThread(info); + androidDeviceAllInfoThread.start(); + queryDeviceInfoMap.put(info.getCaseId(), androidDeviceAllInfoThread); return true; }