Какая из них называется первой активировать функцию или функцию связывания в SCR Runtime
Меня смутил порядок, в котором функция Activate или функция bind вызывается, когда компонент становится активным. По моему мнению, сначала активируется функция активации, так как функция Bind предназначена для привязки сервиса. Но поскольку мы знаем, что весь целевой сервис сначала попадает в контекст компонента, то компонент активируется.
Пожалуйста, очистите мои сомнения.
1 ответ
Метод активации будет вызван после того, как все статические ссылки были связаны, то есть после вызова методов связывания. Поэтому во время активации вы можете быть уверены, что значение статических ссылок не изменится.
Однако для динамических ссылок все ставки выключены. Фактически значение динамической ссылки может изменяться несколько раз в разных потоках во время выполнения метода активации.
ОБНОВЛЕНИЕ: Вы не спрашивали о деактивации, но вы все равно можете найти эту информацию полезной. Метод деактивации будет вызван до того, как любая статическая ссылка будет освобождена. Так, например: если вы были привязаны к службе со статической ссылкой, и служба, к которой вы были привязаны, исчезнет, то SCR сначала вызовет ваш деактивацию, затем ваши методы отмены привязки и, наконец, освободит экземпляр компонента для вывоз мусора.