summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lei Li <lei.li.ofcl@gmail.com> 2024-09-09 10:56:43 +0800
committer Lei <lei.li.ofcl@gmail.com> 2024-09-09 03:13:17 +0000
commitc55c616ca8debe624d0f83bde28a8bbc2c5efffb (patch)
tree2fb6aad478287c740f65e64b3f2ee855434ae602
parent952d16a946806b182c530b22717819453dd71908 (diff)
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 <lei.li.ofcl@gmail.com>
-rw-r--r--core/java/android/content/pm/PackageManager.java2
1 files changed, 2 insertions, 0 deletions
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();
}
}