Java Android活动内存消耗

Java Android活动内存消耗,java,android,android-studio,Java,Android,Android Studio,我有一个Android应用程序,有4个活动。第一个基本上是启动屏幕,第二个是登录,第三个是主屏幕,第四个是绘图的附加屏幕 在真实设备上运行该应用程序-从2014年开始的三星Galazy tab或使用安卓4.4的smth在登录活动后出现错误并崩溃。它表示内存不足错误。主要活动包括多个编辑文本字段和按钮,还包括单选和使字段可见和不可见 当我在登录后设置绘图活动时,它将正确登录,当从绘图转到主绘图时,它第一次崩溃,但第二次运行 所以我删除了飞溅和登录活动,然后应用程序运行平稳-没有滞后或任何事情。可以

我有一个Android应用程序,有4个活动。第一个基本上是启动屏幕,第二个是登录,第三个是主屏幕,第四个是绘图的附加屏幕

在真实设备上运行该应用程序-从2014年开始的三星Galazy tab或使用安卓4.4的smth在登录活动后出现错误并崩溃。它表示内存不足错误。主要活动包括多个编辑文本字段和按钮,还包括单选和使字段可见和不可见

当我在登录后设置绘图活动时,它将正确登录,当从绘图转到主绘图时,它第一次崩溃,但第二次运行

所以我删除了飞溅和登录活动,然后应用程序运行平稳-没有滞后或任何事情。可以去绘图,然后回来,没有问题。所有功能都工作


我的问题是,为什么会发生这种情况?为什么它可以在没有启动和登录的情况下运行,但在这两种情况下崩溃。我想这两个人的记忆力不强。是平板电脑出了问题还是我应该检查一下内存消耗?对我来说似乎很奇怪,它可以在没有这两个的情况下打开主活动。

内存不足异常是应用程序的常见问题。它可以根据设备的RAM大小改变设备。从这里告诉你问题的原因是不可能的

设备内存不足、未正确使用内存(活动中使用的图像、保存的变量引用,而屏幕上的活动中不需要)以及其他因素都可能导致此问题

你该怎么办

  • 优化您的材料,尝试使用低分辨率图像,在更改活动或片段之前使变量为空,以使系统回收它们所持有的内存

  • 使用Leak Canary并查看应用程序()中是否存在内存泄漏

  • 使用Android Studio Profiler监控应用程序的内存使用情况,找出代码中使用内存最多的部分

  • 在理解了权衡之后,您可以调用
    System.gc()
    垃圾收集器,在执行繁重的任务之前回收未使用的内存

  • 如果其中任何一项没有帮助,您可以将下面的代码添加到清单文件(在应用程序标记之间)。但是,您应该注意使用此选项时的性能权衡

    <application            
    android:largeHeap="true"