gpt4 book ai didi

android - 应用程序的子类曾经被破坏过吗?

转载 作者:行者123 更新时间:2023-11-29 18:05:09 25 4
gpt4 key购买 nike

我的问题

我有一项服务,可以在其中监控位置变化。这在后台保持运行至关重要,因此它是一项前台服务。

我的问题是当它在后台并且东西被破坏时,我该如何保存这些数据。

我的问题

这让我想到了我的潜在解决方案。

我有一个 Application 的子类,我在我的 list 文件中声明了它。

看到存储在这个 Singleton 中的任何对象在我的 Service 生命周期中都可以访问并因此给我一种保存位置的方法是否安全?

提前致谢

最佳答案

对你的问题的简短回答是肯定的,Application 基本上只要你的进程存在,所以你存储在那里的任何东西都尽可能稳定,直到 Android 可能需要的时候从后台回收您的应用程序以为前台应用程序获取更多内存。但是,与简单地将您的状态数据保存在 Service 本身中相比,并没有增加太多好处。 Android 没有一种机制可以选择性地销毁应用程序中 的组件以回收内存。如果它需要额外的内存来保持前台进程的正常运行,它会按优先级顺序(基于最近的使用及其前台/后台优先级状态)简单地杀死其他应用程序的整个进程

通过在您的进程中运行 Service,您的应用程序已经将其优先级提高到比系统中处于后台的其他应用程序更重要,从而降低您的进程被终止的可能性.通过让您的 Service 作为前台运行,您只是进一步略微提高了此优先级,这不是 Google 长期推荐您做的事情。当系统承受足够的内存压力以致应用程序开始被杀死时,最终您的进程将遭受同样的命运。

如果您确实需要任何数据在进程生命周期之外继续存在,则需要将其保存为任何 Android 本地存储格式。

关于android - 应用程序的子类曾经被破坏过吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746437/

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