gpt4 book ai didi

android - Android 中的服务开销(我应该创建多少)

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

有谁知道Android中服务的开销有多大?
如果有任何其他论点可以帮助我做出以下设计决策。

我有两个 SQLite 数据库,一个存储实际数据(基本上只读产品库存),另一个存储设置、所选项目列表等。

现在我创建了一个服务来管理这些数据库,主要有两个原因:

  • 我希望能够“关闭时保存”(设置),这可以通过 onDestroy 实现
  • 加载数据需要一些时间,因此快速关闭应用程序会将数据保留在内存中

从设计的角度来看,我可以:

  • 创建一个处理两个数据库的服务
  • 创建两个服务,每个服务处理一个数据库

为每个数据库创建一个单独的服务感觉更干净,例如扩展一个通用基类来处理关机、定时器等。它还允许我独立配置它们(现在不需要)。

另一方面,我不想开始走这条路,然后,当我习惯在“服务”中做这样的事情时,发现有 3 或 5 个服务的限制。

那么,例如,开销如何? 5 个正在运行的服务,还是一个托管 5 个不同功能的服务?有什么想法吗?

最佳答案

在您的情况下,Android 有效支持的服务数量应该无需担心。在一些任务管理器中看到正在运行的服务列表后,我倾向于说最多约 100 个“正在运行”的服务在大多数设备上应该没有问题。

但是,我不确定您尝试做的事情是否真的应该在服务中实现。您能否详细说明为什么您认为您需要一项服务?

I want to be able to "save on close" (settings), which is possible with the onDestroy

您不能在正常的 Activity 生命周期回调中执行此操作吗?

It takes some time to load the data, so a quick close of the app keeps the data in memory

“快速关闭”是什么意思?您是否正在尝试为数据库数据构建某种缓存

关于android - Android 中的服务开销(我应该创建多少),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082946/

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