gpt4 book ai didi

android - 使服务生命周期独立于 Activity

转载 作者:太空狗 更新时间:2023-10-29 13:22:08 25 4
gpt4 key购买 nike

我的服务通常由 BroadcastReceiver 为 RECEIVE_BOOT_COMPLETED 启动,并使用 START_STICKY 标志实现,如下所示:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return Service.START_STICKY;
}

因此在许多情况下,当用户启动应用时,服务将已经在后台运行。然后我的 Activity 绑定(bind)到它以从服务中读取信息。

但是,当用户随后销毁 Activity (通过终止应用程序)时,我已经运行的服务现在也被销毁,然后通过 start_sticky 重新启动。这会导致我保存在服务中的一些信息丢失。

有没有办法保留我的服务实例,让我的 Activity 来来去去,根据需要绑定(bind)到它?

最佳答案

无法确保服务(或应用程序的任何组件)不会被终止。如果您有需要保留的数据,您可以使用这些技术中的任何一种。

http://developer.android.com/guide/topics/data/data-storage.html

SharedPerferences 非常易于使用。

这是开发者文档(和链接)中解释系统如何启动和停止应用程序的部分。

By default, every app runs in its own Linux process. Android starts the process when any of the app's components need to be executed, then shuts down the process when it's no longer needed or when the system must recover memory for other apps.

http://developer.android.com/guide/components/fundamentals.html

关于android - 使服务生命周期独立于 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27337446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com