我正在开发一个Android应用程序,它可以创建多个服务来监控用户在一天中执行的多项操作。
虽然为了确保应用程序的良好架构和模块化,我需要有一个管理器类,允许我添加,启动,删除,绑定和访问这些服务中的数据。
什么是良好的数据类型和参数来表示这样的事情?
它必须能够启动每个服务,绑定它并创建每个ServiceConnection。
这是必要的,以便我可以根据手机的某些条件管理在给定时间在后台运行的服务
答案 0 :(得分:1)
在我看来,我会选择一个Service
作为经理,并且会根据您的需要启动尽可能多的Thread
或AsyncTask
。
您可能知道,如果您在停止应用之前没有停止Service
,它将继续在后台运行。这只是您应用的一个独立组件,当用户直接与您应用的某个组件进行交互时(主要是Activity
),Android会尝试尽可能多地保持活动进程的运行,并且不太可能你会看到应用程序被杀死,只要没有非常糟糕的东西,但当用户不再与应用程序交互时,相对于其他进程而言,它变得可有可无。
换句话说,它变得非常有趣,并且会因为你的Service
而被杀死的优先级更高。每天有更多进程在后台离开Services
,因此如果您不希望用户结束卸载您的应用,则必须适当地处理Service
。
即使有这样的不便,我也更喜欢这种方式,因为即使看起来很混乱,也只有一个控制器来处理所有子进程,它决定了在你需要的情况下接下来应该执行什么同步结果,更重要的是,一旦你的应用程序的交互部分运行,你只需要停止Service
一次,你知道你正在停止所有的背景部分 - 否则,你需要跟踪所有Services
正在运行并逐个停止。