3

我最近完成了我在 Android 上的第一个应用程序,并且有一个非常基本的问题,我似乎无法找到答案。与大多数应用程序一样,当您在手机上安装一个应用程序时,它将显示在“设置”->“应用程序”列表中。我创建的应用程序与 Facebook 和 Google Play 商店等其他下载的应用程序一起显示在已下载部分。从该列表中选择其中一个应用程序时,顶部会显示两个按钮 - “强制停止”和“卸载”。此列表中的某些应用程序的“强制停止”显示为灰色(我确定这意味着它已被强制停止),而其他应用程序将让您单击此按钮。

我想知道的是,如果“强制停止”没有变灰并且仍然可以点击,这是否意味着这会通过仍然执行一些操作来消耗我的 Android 设备的一些电池寿命(即使它是非常少的量)一种过程还是通过占用资源?当用户点击后退按钮退出应用程序但“强制停止”按钮仍可单击时,我向我的新应用程序添加了一个 finish() 方法。我知道 Android 会处理自己的东西并在需要时杀死应用程序,但是在 Android 完全杀死应用程序之前,我的新应用程序会消耗一些电池寿命吗?我只是想知道用于学习目的并确保我不需要继续向我的新应用程序添加代码。谢谢你。

4

2 回答 2

3

这意味着您的应用程序正在后台运行,就像 PC 上的最小化应用程序一样。完成实际上并没有杀死应用程序,只有活动(一个应用程序可以包含多个活动和服务) - 任何其他活动/服务仍将运行。如果某些服务或线程仍在处理中,它只会占用电池电量,但它会继续占用 RAM。这就是 Android 通常的工作方式,也是所有预期的行为。

于 2013-08-25T05:30:16.810 回答
0

当应用程序可以使用“强制停止”时,这意味着该应用程序仍在后台运行。Android 操作系统会为您处理所有内存管理,当用户退出您的应用程序时,Android 将关闭您的应用程序并将其中的一小部分“隐藏”在内存中,以加快用户返回您的应用程序时的重新加载时间。

调用finish();是首选,因为强制关闭应用程序有时可能是有害的。如果 android 需要内存,它将完全关闭您的应用程序并回收它持有的少量内存。

如果您觉得绝对有必要完全杀死您的应用程序,您可以调用System.exit();,但是一旦您完成了应用程序,让 Android 控制您的应用程序对用户来说更加友好。

于 2013-08-25T05:33:55.027 回答