2

当我们在主屏幕上使用 Google 搜索小部件时,我观察到系统服务器内部的内存泄漏。每次点击主页按钮时,Google 小部件都会更新,并持有com.android.server.appwidget.AppWidgetServiceImpl类的多个引用

查看以下来自内存分析工具的分析报告。

由“ dalvik.system.PathClassLoader @ 0x12c1d220 ”加载的“ com.android.server.appwidget.AppWidgetServiceImpl ”的一个实例占用了47,168,416(65.38%)字节。内存在“ dalvik.system.PathClassLoader@0x12c1d220 ”加载的“ com.android.server.appwidget.AppWidgetServiceImpl ”的一个实例中累积。

堆转储分析 MAT 屏幕截图

重现问题的步骤:

  1. 恢复出厂数据。
  2. 使用 Google 登录帐户完成设置向导。
  3. 不要断开互联网连接。
  4. 从最近的选项卡中清除所有应用程序。
  5. 按HOME键>>等待1秒>>按最近的应用程序键>>等待1秒>>按HOME键等待1秒。
  6. 重复步骤 5 多次(100 次)并使用以下命令观察系统服务器堆内存

adb shell dumpsys meminfo

我观察到“Dalvik Heap”中“Heap Size”和“Heap Alloc”列的增加

在之前和之后找到以下堆大小。

system_server 内存信息详细信息

如果我禁用了谷歌搜索应用程序,则不会观察到系统服务器内存泄漏。

我是内存泄漏问题调试的新手。帮助得出结论,谁在吃侧系统服务器中的堆大小,为什么?

谢谢

4

0 回答 0