0

Представьте себе, что у меня есть класс MyLibrary, который требует передачи Activity как параметра его конструктору: public MyLibrary(Activity someActivity). Есть ли способ, чтобы прикрепить к наблюдателю someActivity в MyLibrary конструктор , так что MyLibrary бы знать, когда someActivity разрушается?Activity lifecycle observer - как узнать, когда уничтожен экземпляр действия?

Я использую Bumptech's Glide для загрузки асинхронного изображения и в нескольких местах в их проблемах упоминается, что после передачи контексту, активности или фрагменту в его функцию Glide.with() Glide автоматически приостанавливает изображения, которые в настоящее время загружаются, если переданный объект уничтожается. (Example) Мне интересно, как Glide выясняет, когда прекратить загрузку после того, как данный контекст, активность или фрагмент уничтожены, как он это наблюдает?

В идеале я хотел бы сделать что-то по следующим направлениям (отметит, что это составленный пример):

public MyLibrary(Activity someActivity){ 
    someActivity.addLifecycleObserver(new LifecycleObserver(){ 
     @Override 
     public void onStart() {} 

     @Override 
     public void onStop() {} 

     @Override 
     public void onDestroy() {} 
    }); 
} 
+0

Существует [это] (https://developer.android.com/reference/android/app/Application.html#registerActivityLifecycleCallbacks (android.app.Application.ActivityLifecycleCallbacks)), хотя вам придется обнаруживают этот конкретный экземпляр активности по сравнению с другими. – CommonsWare

+0

@CommonsWare Действительно, не совсем точно, так как эти «Application.ActivityLifecycleCallbacks» все равно нуждаются в распознавании экземпляров, хотя шаг в правильном направлении. Все-таки это полезная ссылка, спасибо! – Voy

ответ

1

Google выпустил архитектурную библиотеку, которая обрабатывает ваш случай использования. Проверьте guide

 Смежные вопросы

  • Нет связанных вопросов^_^