Стоимость повышения намерения в андроиде

Сколько стоит трансляция намерений? Можно ли передавать несколько раз в секунду или это дорого?

Ответ 1

Усилия предназначены для запуска различных действий в ОС Android или для информирования об основных действиях. Похоже, что плохая модель дизайна использует их в противном случае. Поскольку они перемещаются между различными процессами и поэтому реализуют интерфейс Parcelable, они не являются самыми легкими.

Если вы хотите обновить разные действия одновременно, вы можете рассмотреть возможность использования общей службы.

Согласно этому сообщению в блоге, намерения в 10 раз медленнее, чем прямые вызовы функций http://andytsui.wordpress.com/2010/09/14/android-intent-performance/

Ответ 2

Это не так дорого, но подумайте об этом так же, как и о вещании в сетевой среде. Если вы хотите постоянно отправлять сообщение на устройство, вы не будете отправлять трансляции каждые 100 мс. Это просто наполнило бы сеть. Передача широковещательной передачи один раз, скажем, через 10 секунд, может быть уместна.

Что именно наилучшая реализация полностью зависит от того, что вы делаете. В определенных обстоятельствах, если у вас есть несколько запущенных служб, которые нужно запускать независимо, и вы только передаете эти намерения, которые быстро говорят, 10 или 15 секунд. Это может быть хорошо.

Но мы не можем сказать.