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