android - 处理程序或监听器。什么是更好的?

标签 android listener handler

处理程序或监听器。事件通知有什么更好的用途?什么更快、更高效等?

最佳答案

这是个好问题!

使用处理程序的场景

我的应用程序中运行了一个 Android 后台服务,该服务使用专门用于 Web 通信的处理程序 - 我决定走这条路,因为处理程序会将请求排队并一个一个地执行它们,这样我就知道保留了一个序列完好无损。

例如,在即时通讯应用程序中,您可能会发现需要保持聊天顺序。

使用回调的场景

我的后台服务还使用了一个从硬件读取的类(在一个单独的线程中);有些数据随时可能进来,需要立即处理。对于那个类,我实现了一个监听器/回调接口(interface)。


我唯一的问题是处理程序的大小是否有任何礼节。 我有大约 50 条独特的消息:

  • 传出网络请求包含大约 25 条消息(每条消息是网络服务器上的不同 API)
  • 每个 API 都会返回一个响应,因此还有另外 25 个传入网站 回应

处理程序需要大约 60% 的服务代码——您可以想象这会导致非常大的 switch(case{}) 结构(将近 1000 行代码)。太大?如何分解?

关于android - 处理程序或监听器。什么是更好的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407140/

相关文章:

java - 在 Libgdx 中配置屏幕的正确方法

Android 自定义按钮按下状态

java - 事件监听器妨碍更改 slider 值 JavaFX

NHibernate:拦截器和监听器的区别

android - 在后台线程上加载广告 (adMob)

go - FileServer 处理程序是否仅服务于您指定目录中的内容?

java - jetty 9 : How to organise handlers & setWelcomeFiles

android - 在 Fragment android 中实现 AsyncTask

android - 在Android Studio下运行时Flutter应用程序卡住

java - Eclipse 监听器检测何时打开新 View ?