Dialog中使用Glide加载一张网络图片,当Dialog消失的时候,Glide是怎么处理的?

我们知道glide是通过给页面绑定一个空的fragment来监听页面的生命周期的,那么如果是dialog上面加载一张图片呢,这时glide监听的是页面的生命周期还是dialog周期,由于在网上找了许久也没有解决我的疑惑,没办法只能用一个简单粗暴的方法来实现了:在Glide源码上下断点Debug一下!

RequestManager.java

@Override
public void onStart() {
    // onStart might not be called because this object may be created after the fragment/activity's onStart method.
    resumeRequests();
}

/**
 * Lifecycle callback that unregisters for connectivity events (if the android.permission.ACCESS_NETWORK_STATE
 * permission is present) and pauses in progress loads.
 */
@Override
public void onStop() {
    pauseRequests();
}

/**
 * Lifecycle callback that cancels all in progress requests and clears and recycles resources for all completed
 * requests.
 */
@Override
public void onDestroy() {
    requestTracker.clearRequests();
}

在onStart,onStop,onDestroy分别下断点:

  • 当页面启动dialog弹出的时候:进入断点顺序onStop ->onStart
  • dialog消失时候:没有任何现像
  • dialog依附的Activity销毁的时候:onStop ->onDestroy

好了分析完毕,问题解决,当dialog消失的时候glide并没有做任何处理

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 由于图片加载是应用开发中非常常见,但是有非常容易消耗资源甚至出现问题的场景,因此出现了很多第三方图片加载框架,...
    熠闲阅读 13,884评论 6 23
  • Glide 资源封装 key --对value的唯一性进行描述 value --对bitmap的封装(+1...
    佼佼者Mr阅读 282评论 0 0
  • 这一串代码是加载图片的最简形式. 分别传递了3个参数 context主要用于生成framgnet控制glide加载...
    Raven阅读 751评论 2 0
  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 4,463评论 0 13
  • 感觉自己有点神经衰弱,总是觉得手机响了;屋外有人走过;每次妈妈不声不响的进房间突然跟我说话,我都会被吓得半死!一整...
    章鱼的拥抱阅读 2,364评论 4 5

友情链接更多精彩内容