处理程序或监听器。事件通知有什么更好的用途?什么更快、更高效等?
最佳答案
这是个好问题!
使用处理程序的场景
我的应用程序中运行了一个 Android 后台服务,该服务使用专门用于 Web 通信的处理程序 - 我决定走这条路,因为处理程序会将请求排队并一个一个地执行它们,这样我就知道保留了一个序列完好无损。
例如,在即时通讯应用程序中,您可能会发现需要保持聊天顺序。
使用回调的场景
我的后台服务还使用了一个从硬件读取的类(在一个单独的线程中);有些数据随时可能进来,需要立即处理。对于那个类,我实现了一个监听器/回调接口(interface)。
我唯一的问题是处理程序的大小是否有任何礼节。 我有大约 50 条独特的消息:
- 传出网络请求包含大约 25 条消息(每条消息是网络服务器上的不同 API)
- 每个 API 都会返回一个响应,因此还有另外 25 个传入网站 回应
处理程序需要大约 60% 的服务代码——您可以想象这会导致非常大的 switch(case{}) 结构(将近 1000 行代码)。太大?如何分解?
关于android - 处理程序或监听器。什么是更好的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407140/