我应该为每个线程实现不同的服务还是应该将所有服务放在一个服务中?

问题描述 投票:0回答:1

我的问题是为不同类型的线程提供多个服务是否是一个好的做法。 例如,假设我的应用程序提供两种类型的功能:在设备上托管服务器或仅作为客户端。 所以,我会有 ServerThread 和 ClientThread。 我实现了两个服务ServerService和ClientService并运行相关线程。 当然,通过拥有两个服务,我可以让用户同时启动服务器服务和客户端服务。 或者最好基本上拥有所有一项服务,并且可能带有复选框,让用户决定该服务内将包含哪种内容(线程)。

java android android-service
1个回答
0
投票

首先——服务和线程彼此无关。 Android 中的服务不是异步的。它们只是存在的上下文对象,而不是手机的前台应用程序。它们可以创建线程来做事情,但是没有要求它们这样做,它们默认不这样做,并且它们的生命周期方法都在主线程上运行。所以这个问题一开始就没有意义。

其次 - Android 永远不应该被用来运行服务器。整个操作系统围绕不允许长期存在的后台进程进行了优化。非前台服务不允许运行超过2分钟,前台进程仍然可以随时被杀死以获取资源。因此,客户端-服务器架构通常不适合整个 Android。

© www.soinside.com 2019 - 2024. All rights reserved.