From cde0ac76759388efe25107faa0768c0f8947d8cb Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Thu, 4 Apr 2019 09:19:03 -0700 Subject: [PATCH] zygote: initialize ashmem early avoids dlopen of ashmemd_client in every app startup. Test: boots, works, doesn't dlopen in app startup Bug: 129543489 Change-Id: I76ba230af30cd007dbbca054e06660e8a30aca36 --- core/jni/com_android_internal_os_Zygote.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 430b9c5052235..f599913ce4973 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -73,6 +73,7 @@ #include #include #include +#include #include #include #include @@ -1925,6 +1926,11 @@ static void com_android_internal_os_Zygote_nativeInitNativeState(JNIEnv* env, jc if (!SetTaskProfiles(0, {})) { ZygoteFailure(env, "zygote", nullptr, "Zygote SetTaskProfiles failed"); } + + /* + * ashmem initialization to avoid dlopen overhead + */ + ashmem_init(); } /**