Java Android应用程序和内存泄漏

Java Android应用程序和内存泄漏,java,android,memory-leaks,Java,Android,Memory Leaks,我在物理设备上测试我的第一个Android应用程序,在Android Studio中监控内存时,我注意到分配的内存在短时间内从16MB增加到25MB 内存监视器 这是否意味着应用程序中有memroy leak?该应用程序的总内存使用量约为70MB,随着您打开和关闭应用程序的时间延长,这个数字会增加。从16跳到25并不表示内存泄漏,而是表示已分配了9mb内存。你可以看到内存下降到17,所以乍一看,我认为你没有内存泄漏我现在看到了您的编辑,70mb并不意味着您有内存泄漏,内存使用量随时间增加的事实

我在物理设备上测试我的第一个Android应用程序,在Android Studio中监控内存时,我注意到分配的内存在短时间内从16MB增加到25MB

内存监视器


这是否意味着应用程序中有memroy leak?该应用程序的总内存使用量约为70MB,随着您打开和关闭应用程序的时间延长,这个数字会增加。

从16跳到25并不表示内存泄漏,而是表示已分配了9mb内存。你可以看到内存下降到17,所以乍一看,我认为你没有内存泄漏
我现在看到了您的编辑,70mb并不意味着您有内存泄漏,内存使用量随时间增加的事实也不意味着内存泄漏。当本应进行垃圾收集的对象保留在内存中时,会发生内存泄漏。例如,如果您看到在内存中有许多已销毁活动的实例,那么很可能是内存泄漏,但是如果您因为一个非常大的导航堆栈而一直分配活动,那么这就意味着您只是在使用大量内存

但是您可以做一些事情:

-安装在你的应用程序中,它会告诉你是否有可疑的东西。

-在android studio的内存监视器中,您应该会看到一个带有垃圾车的图标,当您单击它时,它将手动触发垃圾收集,检查应用程序实际使用的内存量可能会很有用


-在内存监视器中,你还应该看到垃圾车右侧的另外两个图标,第一个(箭头向下)将显示当前分配的所有对象及其大小,另一个将允许开始跟踪应用程序正在进行的所有分配,你可以阅读更多关于它的信息@lelloman我知道丢弃意味着它是自动垃圾收集。我在问,从16岁跳到25岁以上是否是内存泄漏的迹象。