Представьте себе, что у меня есть класс 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() {}
});
}
Существует [это] (https://developer.android.com/reference/android/app/Application.html#registerActivityLifecycleCallbacks (android.app.Application.ActivityLifecycleCallbacks)), хотя вам придется обнаруживают этот конкретный экземпляр активности по сравнению с другими. – CommonsWare
@CommonsWare Действительно, не совсем точно, так как эти «Application.ActivityLifecycleCallbacks» все равно нуждаются в распознавании экземпляров, хотя шаг в правильном направлении. Все-таки это полезная ссылка, спасибо! – Voy