为什么安卓应用程序没有提供“退出”选项?

为什么安卓应用程序没有提供“退出”选项?

来自Google的Android应用程序基础页面:

关闭组件

内容提供者仅在响应ContentResolver的请求时处于活动状态。广播接收器仅在响应广播消息时处于活动状态。因此,没有必要明确关闭这些组件。

另一方面,活动提供用户界面。它们与用户进行长时间的对话,并且只要对话继续,即使处于空闲状态,也可能保持活动状态。同样,服务也可能长时间运行。因此,Android具有以有序方式关闭活动和服务的方法:

可以通过调用其finish()方法关闭活动。一个活动可以通过调用finishActivity()关闭另一个活动(它是使用startActivityForResult()启动的)。

可以通过调用其stopSelf()方法或调用Context.stopService()停止服务。

当组件不再使用或Android必须为更活跃的组件回收内存时,系统也可能关闭组件。稍后的“组件生命周期”部分将更详细地讨论这种可能性及其影响。

看起来 Content Providers 和 Broadcast receivers 不应该被显式关闭,因为它们在不处理特定事件时是惰性的。

至于 Activities,我认为有必要结束它,但在某些情况下。如果您的应用程序有一个有限的状态,在用户完成使用后,为什么要让它保持活动状态直到 GC 获取它呢?活动管理器仍然需要在用户完成任务时跟踪该 Activity。我最好的例子是计算器。您打开它,让它为您解决问题,然后关闭它。如果 onCreate 函数如此昂贵,以至于一次性执行 onCreate,然后每当用户回到您的应用程序时执行 onRestart 更有效,则您可能做错了什么。也许我误解了 Android 如何处理 Activities,如果是这样,我总是很乐意学习更多 :)

相关推荐

花呗还款多久恢复额度 这个时间就恢复了
beat365官网备用

花呗还款多久恢复额度 这个时间就恢复了

📅 07-30 👁️ 7308
itunes备份在哪里-itunes备份文件路径位置一览[多图]
【辑】开头能组哪些词
bst365老牌体育

【辑】开头能组哪些词

📅 08-14 👁️ 1594