我已经阅读了一些关于在Android中加载图片的帖子,但这个论点对我来说有点混乱。 我有一个ListView,我会在其中加载一些来自firebase存储的图像。我还有来自https://books.google的其他图像,这些图像会立即加载。
当我从firebase存储加载图像时,设备非常慢。我已尝试使用 Picasso 库以及此代码:
public class loadImage extends AsyncTask<String, String, Bitmap> {
HttpURLConnection connection;
BufferedReader reader;
@Override
protected Bitmap doInBackground(String... params) {
try {
URL url = new URL(params[0]);
connection = (HttpURLConnection) url.openConnection();
connection.connect();
InputStream inputStream = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuffer = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
stringBuffer.append(line);
}
return BitmapFactory.decodeStream((InputStream) url.getContent());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
try {
if(reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
bookImage.setImageBitmap(result);
}
}
也许Volley比毕加索更好?还是壁画还是滑翔? 有人可以帮帮我吗?
答案 0 :(得分:1)
我找到了解决方案: GLIDE 。它比 Picasso 更好,Google推荐它。 通过此链接,您可以获得有关Glide和Picasso之间差异的一些信息:
干得好。