我正在开发一个通过 TCP 使用自定义网络协议的应用程序。应用程序中的几个任务使用不同的活动,但是每个活动都需要启用网络(因为每个活动都必须通过网络发送/接收一些自定义数据包)。所以我的想法基本上是
在应用程序启动时 - 创建一个服务来处理网络(我在某处读到我应该在该服务的另一个线程中进行网络以防止 ANR)
运行新活动时,它会绑定到该服务。在此期间,它从服务发送/接收数据。当活动结束时,它与服务解除绑定。
我想知道这是否有意义。
另外,我知道我可以使用aidl接口将数据发送到服务(通过网络发送),但是我将如何从服务接收数据?通过aidl 轮询似乎是我能想到的唯一方法——这意味着我需要在我的每个活动中使用另一个线程来防止ANR。当然还有更好的方法。
感谢您的帮助,并对建议持开放态度。