首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序在内存不足的硬件上失败

应用程序在内存不足的硬件上失败
EN

Stack Overflow用户
提问于 2017-03-15 05:20:25
回答 1查看 128关注 0票数 1

我有一个应用程序,我一直以为它可以工作,直到有人试图在一台内存很小的超便宜的平板电脑上运行它。我确信内存不足是问题所在,但我有两个问题: 1)我做的事情是否消耗了内存;2)当我耗尽内存时该怎么办。

这是我的应用程序架构:我的应用程序包含一个主活动,它依次调用许多子活动来获取用户输入。在应用程序的生命周期中,每个子活动可能会被调用几次。每个附属活动都由一个startActivityForResult调用调用。当子活动完成它的工作后,它将把任何结果放入一个Intent中,并调用finish()。回到主活动中,onActivityResult检测子活动已经完成,处理返回的数据,然后调用下一个子活动。

我做错什么了吗?具体地说,当我完成一个辅助活动时,它的所有数据都会从内存中清除吗?如果我再次调用相同的子活动,我是否必须做一些特殊的事情来避免将活动数据的重复副本加载到内存中?

在低内存系统上运行我的应用程序时,我在Android监视器中看到以下消息:

“内存不足。”

然后,我看到多达七次“执行停止未恢复的活动”(这是什么意思?)

“此窗口已丢失”

然后是另一个“执行未恢复的活动的停止”

“启动活动时出现异常。Android.os.DeadObjectException”(那是什么?)

“此窗口已丢失”

然后我的应用就会死掉。

我的诊断是否正确,这是记忆问题?我的架构会导致内存泄漏吗?我能做些什么来纠正这个问题?

感谢您的帮助。

Kind向Keith致敬

EN

回答 1

Stack Overflow用户

发布于 2017-03-15 16:12:24

运行应用程序的高端设备上的空闲内存,第一列最后一行的值是应用程序未运行的低端设备上的consumption.

  • adb外壳虚拟内存meminfo,行后的值“
  1. ”是应用程序剩余内存和剩余内存,可能它们非常接近,然后LMK(低内存杀手)会找到您的应用程序并将其杀死。
  2. 要优化内存,请检查步骤1的结果。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42796758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档