Fix perf tests for cold startup.

Kiling ia force-stopping was invalidating the entire roots cache.

Bug: 27743087
Change-Id: Ib788cfeaa6e60c40b7277ba7ca0f2371816eded1
This commit is contained in:
Tomasz Mikolajewski
2016-04-04 09:51:06 +09:00
parent 7d718bb252
commit 6a72a0ea9c
2 changed files with 9 additions and 2 deletions

View File

@@ -2,6 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.documentsui.appperftests">
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<application>
<uses-library android:name="android.test.runner" />

View File

@@ -17,6 +17,8 @@
package com.android.documentsui;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -91,12 +93,15 @@ public class FilesAppPerfTest extends InstrumentationTestCase {
}
private void killProviders() throws Exception {
final PackageManager pm = getInstrumentation().getContext().getPackageManager();
final Context context = getInstrumentation().getContext();
final PackageManager pm = context.getPackageManager();
final ActivityManager am = (ActivityManager) context.getSystemService(
Context.ACTIVITY_SERVICE);
final Intent intent = new Intent(DocumentsContract.PROVIDER_INTERFACE);
final List<ResolveInfo> providers = pm.queryIntentContentProviders(intent, 0);
for (ResolveInfo info : providers) {
final String packageName = info.providerInfo.packageName;
mDevice.executeShellCommand("am force-stop " + packageName);
am.killBackgroundProcesses(packageName);
}
}
}