从UI线程处理图像 - 澄清

时间:2015-03-06 11:52:55

标签: android bitmap android-asynctask

我正在阅读处理位图的UI线程教程(http://developer.android.com/training/displaying-bitmaps/process-bitmap.html),现在我对loadBitmap方法有疑问。 AsyncDrawable构造函数中使用的 mPlaceHolderBitmap 属性究竟是什么?我知道它是一个Bitmap,但实际上代表了什么?位图与原始图像或用户定义的“空”位图绑定。这里的一些帮助将非常受欢迎。

public void loadBitmap(int resId, ImageView imageView) {
    if (cancelPotentialWork(resId, imageView)) {
        final BitmapWorkerTask task = new BitmapWorkerTask(imageView);
        final AsyncDrawable asyncDrawable =
                new AsyncDrawable(getResources(), mPlaceHolderBitmap, task);
        imageView.setImageDrawable(asyncDrawable);
        task.execute(resId);
    }
}

1 个答案:

答案 0 :(得分:1)

变量mPlaceHolderBitmap包含占位符位图。它是您执行loadBitmap()方法后立即显示的一些默认位图。它将一直显示,直到所需的位图被异步加载。

从服务器加载图像时,通常使用占位符(例如用户图像)。您可以使用它来填充有意义的空间,直到加载正确的图像。另请注意,无法始终加载正确的图像 - 在我们的用户图像示例中 - 并非所有用户都定义了图像,或者存在阻止数据下载的网络问题。