我最近在Android上完成了我的第一个应用程序并且有一个非常基本的问题,我似乎无法找到答案。与大多数应用一样,当手机上安装了一个应用时,它会显示在设置 - >应用列表。我创建的应用程序显示在下载部分以及其他下载的应用程序,如Facebook和Google Play商店。当从此列表中选择其中一个应用程序时,顶部会显示两个按钮 - “强制停止”和“卸载”。此列表中的某些应用程序将“强制停止”显示为灰色(我确信它已被强制停止),其他应用程序将允许您单击此按钮。
我想知道的是,如果“强制停止”不是灰色并且仍然可以点击,这是否意味着我的Android设备需要一些电池续航时间(即使它的数量非常少)还在做某种过程还是通过占用资源?当用户点击后退按钮退出应用程序时,我向我的新应用程序添加了finish()方法,但仍然可以点击“强制停止”按钮。我知道Android处理它自己的东西并在需要时杀死应用程序,但是我的新应用程序会在Android完全杀死应用程序之前占用一些电池寿命吗?我只是想了解学习目的,并确保我不需要继续为我的新应用添加代码。谢谢。
答案 0 :(得分:3)
这意味着您的应用程序在后台运行,就像PC上的最小化应用程序一样。完成实际上不会杀死应用程序,只有活动(应用程序可以包含多个活动和服务) - 任何其他活动/服务仍将运行。如果某些服务或线程仍处于处理状态,它将只占用电池电量,但它将继续占用RAM。这就是Android正常运行的方式,也是所有预期的行为。
答案 1 :(得分:0)
当“强制停止”可用于应用时,表示该应用仍在后台运行。 Android操作系统为您处理所有内存管理,当用户退出您的应用程序时,Android将关闭您的应用程序并将其中的一小部分“隐藏”在内存中,以加快用户返回应用程序时的重新加载时间。
呼叫finish();
是首选,因为关闭应用有时会有害。如果android需要内存,它将完全关闭你的应用程序并回收它所拥有的少量内存。
如果你认为完全杀死你的应用是绝对必要的,你可以致电System.exit();
,但是一旦你完成它,Android允许Android控制你的应用程序更加用户友好。