gpt4 book ai didi

android - 如何让Android ImageView逐渐下载图片

转载 作者:太空狗 更新时间:2023-10-29 15:11:06 27 4
gpt4 key购买 nike

我正在构建一个下载并显示多个图像的应用程序。一切进行得都很顺利。

但我希望它在下载后立即显示图像。不是在下载完成后。我很确定它叫做 Interlaced 之类的东西,因为我使用的是 PNG。

taken from wikipedia

这是我下载和显示图像的部分代码:

    private class DownloadTask extends AsyncTask<String, Integer, Bitmap> {

@Override
protected void onPostExecute(Bitmap result) {
ivGambar.setImageBitmap(result);// ivGambar is an ImageView

pbDetail.setVisibility(View.INVISIBLE);

}

@Override
protected Bitmap doInBackground(String... pa) {
try {
return BitmapFactory.decodeStream((InputStream) new URL(pa[0])
.getContent());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}

Android 可以吗?如何?谢谢。

最佳答案

我不太清楚,但您可以尝试从 URL 中逐步读取,然后解码流,即使它不完整,然后在从流中读取时进行解码,将其存储在缓冲区中。

您可以使用 URL.openStream()要获取流,请逐步复制字节数组中的内容(如果需要则增加它)然后使用 BitmapFactory.decodeByteArray获取解码的部分位图(当然如果数据足够)。

你甚至可以使用 ByteArrayOutputStream作为缓冲区。

注意不要经常这样做,因为它可能会大大减慢一切。

关于android - 如何让Android ImageView逐渐下载图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16267546/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com