Junior — Middle
Comment gérer le cycle de vie d'un composant lors de l'utilisation de Hilt dans Android?
sobes.tech IA
Réponse de l'IA
При использовании Hilt в Android жизненный цикл компонента управляется через области (scopes), которые связывают время жизни зависимостей с жизненным циклом Android-компонентов.
Основные области в Hilt:
@Singleton— объект живёт на протяжении всего приложения@ActivityScoped— объект живёт в рамках одной Activity@FragmentScoped— объект живёт в рамках одного Fragment@ViewModelScoped— объект живёт в рамках ViewModel
Чтобы управлять жизненным циклом, нужно правильно аннотировать классы и зависимости, например:
@AndroidEntryPoint
class MyActivity : AppCompatActivity() {
@Inject lateinit var repository: MyRepository
}
@ActivityScoped
class MyRepository @Inject constructor() {
// Эта зависимость будет жить столько, сколько Activity
}
Таким образом, Hilt автоматически создаёт и уничтожает зависимости в соответствии с жизненным циклом компонентов, что упрощает управление ресурсами и предотвращает утечки памяти.