我有一项服务绑定到一项活动。我定义了一个由活动实现的接口。在服务中我有一个实现活动的接口的对象,当我调用返回绑定器的方法时,我给这个对象提供内存。
当我从服务器收到消息时,服务实现了socket.io,我调用接口方法来更新活动中的数据。
我的问题是,我使用不良做法吗?我应该实现LocalBroadcastReceiver来与活动进行通信而不是使用接口吗?
你建议我做什么?答案 0 :(得分:0)
简短回答是的,它确实是bad practice
。
答案很长,即使你通过界面引用你的活动,它仍然是内存中的同一个对象。因此,假设您对服务进行了长时间的运行,那么当轮换或任何类型的配置更改后活动为recreated
时,您的旧引用将保留在Service
中,它将为{{1} }}
因此,由于您的问题过于通用,我可以列出替代方法,您可以查看所有这些方法并应用适合您风格的任何方法。