Mein Ziel war es, einen automatischen Leistungstest für Android CPU intensiven Code mit einem instrumentellen Test (AndroidJUnitRunner) schreiben.Messung der Leistung mit Android Instrumentierungstest
Ich war sehr überrascht, dass die Testergebnisse zu finden sind nicht zuverlässig, CPU-Kapazität Code simulieren, ich möchte, wurde die folgende Schleife testen, ich schrieb
for(int i=0;i<1000000;i++){
Math.pow(2,i);
}
Der Code als Instrumental Test getestet und innerhalb einer Android App
das Ergebnis, das ich bekam, war wie folgt:
Instrumental Test ~ 230ms zeigte die Schleife abzuschließen, während der gleiche Code auf demselben Gerät (G5) nahm ~ 600ms
ich keine Ahnung zu schätzen wissen, warum die Ausführung des gleichen Code auf AndroidJUnitRunner dreimal weniger Zeit in Anspruch nimmt als auf dem realen Gerät, während sie beide schließlich auf demselben Gerät ausgeführt werden
Wahrscheinlich der AndroidJUnitRunner hat mehr Priorität als der Code in Ihrer App – MatPag
, die die Frage stellt, gibt es eine Möglichkeit, den spezifischen Code zu priorisieren –
der Code in der App ist auf dem Hauptthread ausgeführt habe ich dachte, es hat die höchste Priorität sowieso –