活动生命周期观察器 - 如何知道活动实例何时被销毁?

时间:2016-12-18 17:15:17

标签: android android-activity observer-pattern android-glide activity-lifecycle

想象一下,我有一个类 MyLibrary ,需要将一个Activity作为参数传递给它的构造函数:public MyLibrary(Activity someActivity)。有没有办法将观察者附加到 MyLibrary 构造函数中的 someActivity ,以便 MyLibrary 知道何时 someActivity 被毁了?

我正在使用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() {}
    });
}

1 个答案:

答案 0 :(得分:3)

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