【发布时间】:2016-06-26 21:18:26
【问题描述】:
我正在编写一个小型单活动 android 应用程序并遇到内存泄漏错误,因为我找不到来源。 首先,应用程序计算基本的东西并以结构化的方式显示结果。计算很简单,虽然有一些图像,但它们大约有 50 个图标,总共不到 4MB。
我已经安装了 Eclipse 内存分析器并用它检查了堆转储,泄漏嫌疑人报告说:
问题嫌疑人1:
我不知道那些字节数组可能是什么,也看不到 GC Roots 或任何东西,因为这些数组在支配树中没有父母。我不经常为 Android 编程,我拼命想弄清楚,从今天起这里发生了什么。当我使用该应用程序并观察 ADM 中的堆大小/使用百分比时,我直接从 80% 的使用率开始,并且随着我的使用而变得更大。 (还显示 1 字节数组 (byte[], boolean[]))直到应用程序在 AVD 上崩溃,我的真实设备可以处理更长的时间。我知道我可以将尺寸变大,但这对我来说不是解决方案,因为我认为我从一开始就遇到了这个问题,现在它已经到了临界点。
【问题讨论】:
-
我自己也面临一个非常相似的问题。具有所有字节数组的支配树和 GC 根的路径是单字节数组本身。不是很有帮助
标签: java android arrays memory-leaks byte