Activity 生命周期观察者 - 如何知道 activity 实例何时被销毁?

Activity lifecycle observer - how to know when an activity instance is destroyed?

假设我有一个 class MyLibrary,需要将 Activity 作为参数传递给它的构造函数:public MyLibrary(Activity someActivity)。有没有办法在 MyLibrary 构造函数中将观察者附加到 someActivity ,以便 MyLibrary 会知道什么时候 someActivity 被摧毁了?

我正在使用 Bumptech's Glide for async image loading and in several places in their issues it is mentioned that after passing a context, activity or fragment to it's Glide.with() function, Glide will automatically pause images that are currently loading if the passed object gets destroyed. (Example) 我想知道一旦给定的上下文 activity 或片段被破坏,Glide 如何确定何时停止加载,它如何观察它?

理想情况下,我想按照以下几行做一些事情(注意这是一个虚构的例子):

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

        @Override
        public void onStop() {}

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

Google 刚刚发布了一个架构库来处理您的用例。查看 guide