Go to home screen after launching each app.
Instead of starting one app after another the MemoryUsage
instrumentation goes to the home screen between
launching apps.
Change-Id: Ia0acf9f6f65a23f537b96c98743b59d746681447
diff --git a/tests/MemoryUsage/src/com/android/tests/memoryusage/MemoryUsageTest.java b/tests/MemoryUsage/src/com/android/tests/memoryusage/MemoryUsageTest.java
index e39d53c..5e27ba7 100644
--- a/tests/MemoryUsage/src/com/android/tests/memoryusage/MemoryUsageTest.java
+++ b/tests/MemoryUsage/src/com/android/tests/memoryusage/MemoryUsageTest.java
@@ -72,6 +72,7 @@
try {
processName = startApp(app);
measureMemory(app, processName, results);
+ closeApp();
} catch (NameNotFoundException e) {
Log.i(TAG, "Application " + app + " not found");
}
@@ -139,13 +140,22 @@
return process;
}
+ private void closeApp() {
+ Intent homeIntent = new Intent(Intent.ACTION_MAIN);
+ homeIntent.addCategory(Intent.CATEGORY_HOME);
+ homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
+ | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
+ getInstrumentation().getContext().startActivity(homeIntent);
+ sleep(3000);
+ }
+
private void measureMemory(String appName, String processName,
Bundle results) {
List<Integer> pssData = new ArrayList<Integer>();
int pss = 0;
int iteration = 0;
while (iteration < MAX_ITERATIONS) {
- sleep();
+ sleep(SLEEP_TIME);
pss = getPss(processName);
Log.i(TAG, appName + "=" + pss);
if (pss < 0) {
@@ -184,9 +194,9 @@
return (diff1 + diff2) < THRESHOLD;
}
- private void sleep() {
+ private void sleep(int time) {
try {
- Thread.sleep(SLEEP_TIME);
+ Thread.sleep(time);
} catch (InterruptedException e) {
// ignore
}