android - 奇怪的应用程序内存管理

标签 android memory memory-management android-activity memory-leaks

我正在开发一个 Android 应用程序,我认为它正在执行非常不寻常的行为。当我启动该应用程序时,按下后退按钮离开它并检查 Android 应用程序管理器的缓存后台进程部分,它告诉我我的应用程序的缓存后台进程正在消耗大约 10 MB 的 RAM。好吧,这看起来很正常,但是,但是,每次我再次打开它并通过按后退按钮关闭然后检查应用程序的内存消耗时它总是增加 ~800 kB,这意味着如果我打开我的应用程序 10 次并检查它的内存consuption 我看到它现在消耗 10 MB + 10 * 800 kB = 18 MB。内存消耗随着应用程序主要 Activity 的每次重新创建而增加(这意味着当我也旋转屏幕时)直到达到 ~28 MB,然后下降到 ~23 MB,然后独立地保持在 23 到 28 MB 之间多少次打开它。这是正常的还是我应该怀疑内存泄漏?

最佳答案

我建议您阅读这篇关于如何使用 MAT 分析应用程序内存消耗的文章。 http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html?m=1这帮助我之前找到了漏洞。

我见过的两个最常见的错误: 1.长期存在的上下文引用(例如,对您的 Activity 进行引用的东西) 2.位图处理

关于android - 奇怪的应用程序内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24304909/

相关文章:

android - 如何提示用户启用GPS

java - 根据位置或项目在 ListView 中添加 View 时出错

C++ 静态数组导致内存泄漏?

c - EXC_BAD_ACCESS : too much memory allocated?

android - 我想阅读 android 中的通话记录

android - 与 butterknife 绑定(bind)后嵌套 View 组为空

c# - 如何在避免不必要的副本的同时从 List<T> 获取 Span<T>?

c++ - 减少程序的内存使用

c++ - linux x64 c++ 为链表分配了太多内存;为什么?

c++ - 如何使用 C++ new 而不是 C malloc 分配内存