diff options
author | 2024-09-09 10:56:43 +0800 | |
---|---|---|
committer | 2024-09-09 03:13:17 +0000 | |
commit | c55c616ca8debe624d0f83bde28a8bbc2c5efffb (patch) | |
tree | 2fb6aad478287c740f65e64b3f2ee855434ae602 | |
parent | 952d16a946806b182c530b22717819453dd71908 (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.java | 2 |
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(); } } |