仅在列表视图中显示时才加载图像

时间:2015-06-22 10:34:21

标签: android listview android-activity scroll metadata

我正在制作音乐播放器,到目前为止我所做的是我使用元数据文件在listview中创建了一个歌曲列表。 现在,当我滚动列表时,它会滞后,这可能是因为图像加载。 我提到了谷歌播放音乐应用程序,他们所做的是他们在滚动时获取专辑封面,因此滚动顺畅。 有没有办法实现这种功能?

1 个答案:

答案 0 :(得分:0)

您必须使用延迟加载图像,因此图像将在后台下载。

function calculateStats() {

  var obj = {};
  var deviceId = "357803045265259@rayleigh";
  obj[deviceId] = [];

  for (var i = 1; i <= 21; i++) {
    obj[deviceId].push('e' + i + '.kwh');
  }

}

在适配器getview中调用此类

public class DownloadImage extends AsyncTask<ImageView, Void, Bitmap> {

    ImageView imageView = null;

    @Override
    protected Bitmap doInBackground(ImageView... imageViews) {
        this.imageView = imageViews[0];
        return download_Image((String) imageView.getTag());
    }

    @Override
    protected void onPostExecute(Bitmap result) {
        imageView.setImageBitmap(result);
    }

    private Bitmap download_Image(String url) {
        try {
            URL ulrn = new URL(url);
            HttpURLConnection con = (HttpURLConnection) ulrn.openConnection();

            InputStream iS = con.getInputStream();
            Bitmap bmp = BitmapFactory.decodeStream(iS);
            return bmp;

        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }

}