Стоимость повышения намерения в Android - PullRequest
19 голосов
/ 17 марта 2011

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

Ответы [ 2 ]

10 голосов
/ 17 марта 2011

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

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

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

4 голосов
/ 17 марта 2011

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

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

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

...