????Android App??????????????????????斜??????????????????????????????????????????????????????貌???????????????????谐???????????????????????????????????????????????????3-5?危???????????????????????????妾�??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????2????????????Android??????????????iOS?????????????????????????????????????????????????????????????效?????????????????????????????????????????????????????
???????????
???????????????蔚?????????????????????????????????????????????????????????????些????????????????????????????????????????????????????????????????????????校?1.??????2.???????3.CPU????????????????????4.????????????????????????????????????16??????卤??????

????????????
????UI??????????????????
??????Android??????????????????泻??????????????????????????????adb??????????????????API??????????????????????????????????????????????????????榉�????????????效???????????????????????????????????????泻??????????????????????????????Appium??????????????畏????????????????谩????????????UI????????????梅??????????????慰???????????????????
???????????
????????CPU????妫現PS??????????????????????????????????????????UI????????械??????????adb?????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????Appium???????????????????????????????????????????????????屑???????????????????????????写??????????????围??????????100ms?????????????????????
??????????
??????????????????????
?????????????????????????????????????????
@Override
public void run() {
// TODO Auto-generated method stub
this.running = true;
while (running) {
String time = String.valueOf(System.currentTimeMillis());
time = CalendarDate.GetCurrentTime();
//??????????
int [] memArray = AndroidPerformanceTools.getMemoryInfo(androidPerformance.getPkgname()?? androidPerformance.getDevice());
int totalMem = memArray[0];
int appMem = memArray[1];
//???CPU????
int cpuUsage = AndroidPerformanceTools.getCPUInfo(androidPerformance.getPkgname()?? androidPerformance.getDevice());
//???FPS
float fps = AndroidPerformanceTools.getFPSInfo(androidPerformance.getPkgname()?? androidPerformance.getDevice());
//???????????
long [] trafficArray = AndroidPerformanceTools.getTrafficInfo(androidPerformance.getPkgname()?? androidPerformance.getDevice());
long totalTrffic = trafficArray[0];
long recTraffic = trafficArray[1];
long sndTraffic = trafficArray[2];
//????????
if (this.androidPerformance.getAndroidPerformanceData().getInittotal() == -1
&& totalTrffic > 0) {
this.androidPerformance.getAndroidPerformanceData().setInittotal(totalTrffic);
this.androidPerformance.getAndroidPerformanceData().setInitrec(recTraffic);
this.androidPerformance.getAndroidPerformanceData().setInitsnd(sndTraffic);
}
//????????
MemInfo memInfo = new MemInfo(time?? totalMem?? appMem);
FPSInfo fpsInfo = new FPSInfo(time?? fps);
CPUInfo cpuInfo = new CPUInfo(time?? cpuUsage);
TrafficInfo trafficInfo = new TrafficInfo(time?? totalTrffic?? recTraffic?? sndTraffic);
this.androidPerformance.getAndroidPerformanceData().getCpuinfolist().add(cpuInfo);
this.androidPerformance.getAndroidPerformanceData().getMeminfolist().add(memInfo);
this.androidPerformance.getAndroidPerformanceData().getTraffinfolist().add(trafficInfo);
this.androidPerformance.getAndroidPerformanceData().getFpsinfolist().add(fpsInfo);
//???貌????????
try {
Thread.sleep(this.sleepTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
??????????????????
????????UI????????????味???????App?????????????????????????????????????????????????????妾�?????????????????????????????????????UI?????????????action?屑?????????危?startPerformance??stopPerformance???????????????????位?眉?????????action??????????????????????????谩???????????薪???????????startPeformance???????????????????????stopPerformance???????????????????????????????????????????????????????

???????