在 ListView 中缓慢加载 ImageView - Android
Slow loading ImageView in ListView - Android
我在 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);
}
}
也许排球比毕加索更好?还是 Fresco 或 Glide?
谁能帮帮我?
我找到了解决方案:GLIDE。比Picasso好,Google推荐。
有了这个 link 你可以得到一些关于 Glide 和 Picasso 的区别的信息:
干得好。
我在 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);
}
}
也许排球比毕加索更好?还是 Fresco 或 Glide? 谁能帮帮我?
我找到了解决方案:GLIDE。比Picasso好,Google推荐。 有了这个 link 你可以得到一些关于 Glide 和 Picasso 的区别的信息:
干得好。