【问题标题】:Android activity memory consumptionAndroid活动内存消耗
【发布时间】:2019-10-13 05:02:06
【问题描述】:

我有一个有 4 个活动的 Android 应用程序。第一个基本是闪屏,第二个是登录,第三个是主画面,第四个是额外的绘图。

在真实设备上运行该应用程序 - 从 2014 年开始的 Samsung Galazy 选项卡或使用 Android 4.4 的 smth 在登录活动后运行出错并崩溃。它说内存不足错误。主要活动包含多个编辑文本字段和按钮,还有单选选项并使字段可见和不可见。

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

所以我删除了启动和登录活动,然后应用程序运行顺利 - 没有滞后或任何东西。可以去画画,回来没有问题。所有功能都有效。

我的问题是,为什么会这样?为什么它可以在没有启动和登录的情况下运行,但会因这两个而崩溃。我认为这两个内存并不重。那台平板电脑会不会有问题,或者我应该检查一下内存消耗?对我来说似乎很奇怪,它可以在没有这两个的情况下打开主要活动。

【问题讨论】:

    标签: java android android-studio


    【解决方案1】:

    Out of Memory 异常对于应用程序来说是很常见的问题。它可以根据它们的 RAM 大小将设备更改为设备。从这里告诉你是什么导致了你的问题是不可能的。

    设备内存不足,没有正确使用内存(您在活动中使用的图像,持有的变量的引用,而在屏幕上的活动中不需要)和其他因素都可能导致此问题。

    你应该怎么做?

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

    2. 使用 Leak Canary 并找出应用中是否存在内存泄漏(https://square.github.io/leakcanary/)

    3. 使用 Android Studio Profiler 监控应用程序的内存使用情况,找出代码的哪一部分使用内存最多。

    4. 了解权衡后,您可以调用垃圾收集器System.gc() 回收未使用的内存,然后再执行繁重的任务。

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

      <application            
      android:largeHeap="true"  
      

    【讨论】:

      猜你喜欢
      • 2019-10-04
      • 2015-11-08
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 2017-10-07
      • 2015-06-16
      • 1970-01-01
      • 2011-10-03
      相关资源
      最近更新 更多