gpt4 book ai didi

android - 关于 ContentObserver 的内存泄漏

转载 作者:太空狗 更新时间:2023-10-29 15:13:45 28 4
gpt4 key购买 nike

我在我的 android 应用程序上遇到了内存泄漏问题。

我使用 startActivity 从 Activity1 到 Activity2,然后按返回按钮返回 Activity1。重复 serval 时间,adb shell 显示应用程序的 RSS 上升并且不能下降。最终虚拟机将被关闭。

然后我使用 MAT 发现:

Leak Suspects» Leaks» Problem Suspect 1 Description
59 instances of "android.database.ContentObserver$Transport", loaded by "<system class loader>" occupy 1,569,864 (39.41%) bytes.

Keywords
android.database.ContentObserver$Transport

Reference Pattern
Class Name Shallow Heap Retained Heap Percentage
class android.database.ContentObserver$Transport @ 0x40308cc0 0 0 0.00%

但我从来没有用过那个类。我怎样才能找出真正的原因?

最佳答案

你在使用 CursorAdapter 吗?如果未正确初始化,它可能会在 ContentObserver 上创建它,这将导致您的泄漏。

您应该将此构造函数用于 CursorAdapter。标志 0 将阻止它创建自己的 ContentObserver。

new CursorAdapter(context, cursor, 0) 

关于android - 关于 ContentObserver 的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14493972/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com