【发布时间】:2015-05-25 11:13:30
【问题描述】:
在我的名为“PriceDekho”的 Android 应用程序中,缓存后台进程占用了太多空间。 首先,当我启动应用程序时,应用程序占用了 30MB 左右(我认为还可以),但问题是当我浏览应用程序页面时,这个大小会不断增加到(200 MB)。此应用程序“缓存后台进程”也随移动 RAM 大小而变化。如果移动 RAM 大小为 2GB,则此应用程序“缓存后台进程”大小可达 500 到 700 MB。
我的应用程序只有 5 到 6 个屏幕。我只需要稳定缓存的背景大小。
如何清除应用程序缓存大小?请帮忙。
【问题讨论】:
-
您的清单中有
android:largeHeap="true"吗?您使用的是 NDK 编译的代码吗?您的正常堆限制应该小于 186MB,所以我不确定您是如何分配这么多 RAM 的。您可以使用procstats了解更多信息:android-developers.blogspot.com/2014/01/… -
@CommonsWare 是的,我正在使用 android:largeHeap="true" 属性。不使用 NDK 编译的代码。而且我不知道为什么这个尺寸会不断增加。 186MB 只是一个例子,大小可达 300 MB。我没有在我的代码中执行与 RAM 管理相关的任何操作。请建议我如何减少缓存 RAM 大小
-
在堆转储上使用 MAT 以查看堆空间周围浮动的内容。请重新考虑您对
android:largeHeap="true"的使用。 -
我需要删除 android:largeHeap="true" 吗?我添加它只是为了在应用程序需要时为应用程序分配更多内存
-
"我需要删除 android:largeHeap="true" 吗?" -- 你的用户会很感激的。
标签: java android caching memory-management memory-leaks