diff options
Diffstat (limited to 'core/jni/android_os_Debug.cpp')
-rw-r--r-- | core/jni/android_os_Debug.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp index b4c60f1..3ee404a 100644 --- a/core/jni/android_os_Debug.cpp +++ b/core/jni/android_os_Debug.cpp @@ -200,12 +200,13 @@ static void load_maps(int pid, stats_t* stats) fclose(fp); } -static void android_os_Debug_getDirtyPages(JNIEnv *env, jobject clazz, jobject object) +static void android_os_Debug_getDirtyPagesPid(JNIEnv *env, jobject clazz, + jint pid, jobject object) { stats_t stats; memset(&stats, 0, sizeof(stats_t)); - load_maps(getpid(), &stats); + load_maps(pid, &stats); env->SetIntField(object, dalvikPss_field, stats.dalvikPss); env->SetIntField(object, dalvikPrivateDirty_field, stats.dalvikPrivateDirty); @@ -220,6 +221,11 @@ static void android_os_Debug_getDirtyPages(JNIEnv *env, jobject clazz, jobject o env->SetIntField(object, otherSharedDirty_field, stats.otherSharedDirty); } +static void android_os_Debug_getDirtyPages(JNIEnv *env, jobject clazz, jobject object) +{ + android_os_Debug_getDirtyPagesPid(env, clazz, getpid(), object); +} + static jint read_binder_stat(const char* stat) { FILE* fp = fopen(BINDER_STATS, "r"); @@ -281,6 +287,8 @@ static JNINativeMethod gMethods[] = { (void*) android_os_Debug_getNativeHeapFreeSize }, { "getMemoryInfo", "(Landroid/os/Debug$MemoryInfo;)V", (void*) android_os_Debug_getDirtyPages }, + { "getMemoryInfo", "(ILandroid/os/Debug$MemoryInfo;)V", + (void*) android_os_Debug_getDirtyPagesPid }, { "getBinderSentTransactions", "()I", (void*) android_os_Debug_getBinderSentTransactions }, { "getBinderReceivedTransactions", "()I", |