Merge "Extend getPssPid to report itemized memtrack values" am: ca115f206a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1583743

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia9822d0eda68f02a5297a5e9d22cc9a6f0f1289c
This commit is contained in:
Suren Baghdasaryan
2021-02-12 01:46:16 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 1 deletions

View File

@@ -1902,7 +1902,8 @@ public final class Debug
* Retrieves the PSS memory used by the process as given by the smaps. Optionally supply a long * Retrieves the PSS memory used by the process as given by the smaps. Optionally supply a long
* array of up to 3 entries to also receive (up to 3 values in order): the Uss and SwapPss and * array of up to 3 entries to also receive (up to 3 values in order): the Uss and SwapPss and
* Rss (only filled in as of {@link android.os.Build.VERSION_CODES#P}) of the process, and * Rss (only filled in as of {@link android.os.Build.VERSION_CODES#P}) of the process, and
* another array to also retrieve the separate memtrack size. * another array to also retrieve the separate memtrack sizes (up to 4 values in order): the
* total memtrack reported size, memtrack graphics, memtrack gl and memtrack other.
* *
* @return The PSS memory usage, or 0 if failed to retrieve (i.e., given pid has gone). * @return The PSS memory usage, or 0 if failed to retrieve (i.e., given pid has gone).
* @hide * @hide

View File

@@ -540,6 +540,15 @@ static jlong android_os_Debug_getPssPid(JNIEnv *env, jobject clazz, jint pid,
jlong* outMemtrackArray = env->GetLongArrayElements(outMemtrack, 0); jlong* outMemtrackArray = env->GetLongArrayElements(outMemtrack, 0);
if (outMemtrackArray != NULL) { if (outMemtrackArray != NULL) {
outMemtrackArray[0] = memtrack; outMemtrackArray[0] = memtrack;
if (env->GetArrayLength(outMemtrack) >= 2) {
outMemtrackArray[1] = graphics_mem.graphics;
}
if (env->GetArrayLength(outMemtrack) >= 3) {
outMemtrackArray[2] = graphics_mem.gl;
}
if (env->GetArrayLength(outMemtrack) >= 4) {
outMemtrackArray[3] = graphics_mem.other;
}
} }
env->ReleaseLongArrayElements(outMemtrack, outMemtrackArray, 0); env->ReleaseLongArrayElements(outMemtrack, outMemtrackArray, 0);
} }