一个android内存泄漏的问题

jessewizard 2013-01-24 10:43:24
表现:
在两个activity之间切换(activity1使用startActivity启动activity2,然后按返回键)。用adb shell查看应用占用的RSS内存,可以发现内存是一直向上涨的,没有下降过。如果一直切换会出现VM shutdown,应用崩掉的现象。

用MAT查看内存使用情况,发现android.database.ContentObserver$Transport这个类占用了应用50%以上的内存,其中Leak Suspects也指出是了该问题,具体如下:

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%


但是我没有用过这个类,及相关类,对该类使用outgoing References也找不出我写的类。
求大神解答。
...全文
285 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jessewizard 2013-01-24
  • 打赏
  • 举报
回复
引用 1 楼 dong3560 的回复:
没代码不幸福 如果只是单纯startActivity然后按返回键,不会这样的
两个activity只是做了findViewById和添加buttton监听事件而已。 我只是奇怪为什么会调用ContentObserver。可能会是什么原因导致我无意中调用。
dong3560 2013-01-24
  • 打赏
  • 举报
回复
没代码不幸福 如果只是单纯startActivity然后按返回键,不会这样的
explorerqp 2013-01-24
  • 打赏
  • 举报
回复
点击返回键,是否需要手动kill当前activity,试试看
heyouhua123yeah 2013-01-24
  • 打赏
  • 举报
回复
楼主最好的方法是,在重建一个类似的工程用不同模拟器或者手机测试,也许是一些不值得的问题。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧