Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Glide加载位图时,谁负责回收?_Android_Android Bitmap_Android Glide - Fatal编程技术网

Android 使用Glide加载位图时,谁负责回收?

Android 使用Glide加载位图时,谁负责回收?,android,android-bitmap,android-glide,Android,Android Bitmap,Android Glide,我正在使用Glide加载位图以创建gif for (int i = 0, count = files.size(); i < count; i++) { Bitmap img = Glide.with(context) .load(files.get(i)) .asBitmap() .centerCrop() .into(GIF_EXPORT_SIZE / 2

我正在使用Glide加载位图以创建gif

     for (int i = 0, count = files.size(); i < count; i++) {
         Bitmap img = Glide.with(context)
             .load(files.get(i))
             .asBitmap()
             .centerCrop()
             .into(GIF_EXPORT_SIZE / 2, GIF_EXPORT_SIZE / 2)
             .get();

         // addFrame creates a copy of img, so we can re-use this bitmap
         encoder.addFrame(img);
    }
for(int i=0,count=files.size();i
我想知道是谁负责回收这个位图,还是把它放回Glide位图池?Glide似乎没有办法自动或通过使用
clear()
重新使用它

我考虑过直接使用Glide.get(context.getBitmapPool().put(img)
之类的东西将位图添加回池中,但根据文档,直接使用位图池可能会导致未定义的行为。

根据他们的wiki,你不必回收,因为Glide会这样做,而是基于资源计数

当引用计数降至零时,Glide将回收资源并将其内容返回到任何可用池

不过,您必须显式调用Glide.clear()以减少资源计数,因为Glide只能在替换现有目标/视图的映像时调用Glide.clear()。希望这有帮助