onBitmapLoaded
有问题。该方法未在应调用时调用(它是我第二次进入 View 时调用的)。不过,我保留了对目标的引用,因为我将它添加到 arraylist
。
我不明白为什么它不起作用。 有人有想法吗?
public void loadBitmap() {
if(loadtarget == null) {
loadtarget = new Target(){
@Override
public void onPrepareLoad(Drawable arg0) {
Log.d("Bitmap","On prepare load");
targetList.remove(this);
return;
}
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Log.d("Bitmap","OKAY for :" + filename);
targetList.remove(this);
handleLoadedBitmap(bitmap);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
Log.d("Bitmap","Error for :" + filename);
}
};
}
targetList.add(loadtarget);
Picasso.with(context).load(imageUrl).into(loadtarget);
}
最佳答案
如果 targetList 和 loadtarget 都是局部变量,那么它们将在方法完成后立即被标记为 GC 收集。 确保 targetList 是一个类变量,以便它比方法长。
关于android - onBitmapLoaded 从未调用过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33607200/