Обработчик или слушатели. Что лучше использовать для уведомления о событии? Что быстрее, эффективнее и т. Д.?Обработчик или слушатели. Что лучше?
ответ
Нет такой вещи, как тип прослушивателя, это просто соглашение об именах для интерфейсов обратного вызова. Поэтому вы просто используете их, если хотите синхронно обрабатывать свои события в одном потоке.
Обработчик - это класс Android ... вы используете его для передачи сообщений и runnables из потока, поднимающего событие (например, «загрузить полный») в поток, который должен обрабатывать его (например, поток пользовательского интерфейса).
Это хороший вопрос!
сценария для использования обработчика
У меня есть сервис Android фона работает в моем приложении, которое использует обработчик исключительно для веба-коммуникаций - я решил пойти по этому пути, потому что обработчик очереди запросов и выполнять их один за другим, поэтому я знаю, что последовательность остается неповрежденной.
Например, в приложении для обмена мгновенными сообщениями вам может потребоваться поддерживать последовательность для вашего чата.
сценарий для использования обратного вызова
Мой фоновый сервис также использует класс, который считывает с аппаратными средствами (в отдельном потоке); некоторые данные могут появиться в любое время и должны быть немедленно обработаны. Для этого класса я реализовал интерфейс прослушивателя/обратного вызова.
Вопрос только в том, существует ли какой-либо этикет для размера обработчика. У меня есть около 50 уникальных сообщений:
- исходящих веб-запросов состоит из приблизительно 25 сообщений (каждое сообщение является другой API на веб-сервере)
- Каждый API возвращает ответ, поэтому есть еще 25 входящий веб ответы
Обработчик требует около 60% кода службы - как вы можете себе представить, это приводит к очень большой структуре (case {}) (почти 1000 строк кода). Слишком большой? Как разбить его?
- 1. Что лучше? city.state.id или city.state_id
- 2. Что лучше .txt или .xml
- 3. Что лучше, Nagios или Sensu?
- 4. UDID или IMEI - что лучше?
- 5. Что лучше, ConfigObj или ConfigParser?
- 6. '__doPostBack' ИЛИ '.click()' Что лучше?
- 7. Magento или Prestashop, что лучше?
- 8. Html.fromHtml или Spannable, что лучше?
- 9. JSON или XML? Что лучше?
- 10. Что лучше QTP или Jmeter?
- 11. Что лучше, isset или нет?
- 12. Что лучше 'parent()' или 'parents()'?
- 13. Что лучше скрепки или CarrierWave?
- 14. Что лучше: PooledConnectionFactory или CachingConnectionFactory?
- 15. Что лучше HBASE или Neo4j
- 16. Что лучше, C# или java?
- 17. Что лучше? OpenCyc или ConceptNet?
- 18. Что лучше: DataSet или DataReader?
- 19. мин или gzip, что лучше?
- 20. Темы или JMS Что лучше?
- 21. RTC или AccuRev, что лучше?
- 22. Что лучше: mysql_connect или mysql_pconnect
- 23. Что лучше, setEnabled или setUserInteractionEnabled?
- 24. Что лучше Math.random() или UIDUtil.createUID()
- 25. Что лучше, ETL или ELT?
- 26. Что лучше H2 или HSQLDB?
- 27. DataTable или IList? Что лучше?
- 28. Что лучше блокировать или делегировать?
- 29. Что лучше jodatime или prettytime
- 30. Что лучше, компилятор или интерпретатор?
Таким образом, в простом приложении нисходящее приложение - лучшее решение. Правильно? – user479211 2010-12-10 11:07:58