From c55c616ca8debe624d0f83bde28a8bbc2c5efffb Mon Sep 17 00:00:00 2001 From: Lei Li Date: Mon, 9 Sep 2024 10:56:43 +0800 Subject: memory leak: Closes leaked instance android.content.pm.PackageManager.java switches to using PackageParser2 to parse apk file. And PackageParser2 holds ThreadLocal instances named mSharedAppInfo and mSharedResult. Those ThreadLocals have to be released by calling PackageParser2.close(), or it will cause memory leaks of Activities. Change-Id: Ic04c8b39e565eb462d9edd984468f9aed7749095 Signed-off-by: Lei Li --- core/java/android/content/pm/PackageManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 282ede385ba3..65ab379b182b 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -8847,6 +8847,8 @@ public abstract class PackageManager { } catch (PackageParserException e) { Log.w(TAG, "Failure to parse package archive apkFile= " +apkFile); return null; + } finally { + parser2.close(); } } -- cgit v1.2.3-59-g8ed1b