Java 如何将多个图像从web加载到ImageView
要从网站加载多个图像,编写了以下代码Java 如何将多个图像从web加载到ImageView,java,android,performance,android-networking,android-threading,Java,Android,Performance,Android Networking,Android Threading,要从网站加载多个图像,编写了以下代码 public void connectImgtoView(final int max) { new Thread(new Runnable() { @Override public void run() { URL url = null; for (int i = 0; i < max; i++) {
public void connectImgtoView(final int max) {
new Thread(new Runnable() {
@Override
public void run() {
URL url = null;
for (int i = 0; i < max; i++) {
try {
url = new URL(postImgUrl.get(i));
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
final BufferedInputStream bufferedInputStream
= new BufferedInputStream(url.openStream());
Bitmap bitmap = BitmapFactory.decodeStream(bufferedInputStream);
bufferedInputStream.close();
final Bitmap scaledBitmap = Bitmap.createScaledBitmap(
bitmap,
(int) (992),
(int) (1403),
true
);
final int finalI = i;
runOnUiThread(new Runnable() {
@Override
public void run() {
postImg[finalI].setImageBitmap(scaledBitmap);
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
progressOFF();
}
}).start();
}
public void connectImgtoView(最终整数最大值){
新线程(newrunnable()){
@凌驾
公开募捐{
URL=null;
对于(int i=0;i
虽然此方法已成功执行,但存在性能速度太慢的问题
所以我想知道什么比这个方法快
请帮帮我
变量描述
postImgUrl:类型为ArrayList,这是具有我想要的图像的url
postImg:类型是ImageView数组,这是布局中存在的ImageView。尝试将for循环放在
线程的外面,以便可以同时实例化和处理多个线程
public void connectImgtoView(final int max) {
for (int i = 0; i < max; i++) {
new Thread(new Runnable() {
@Override
public void run() {
URL url = null;
try {
url = new URL(postImgUrl.get(i));
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
final BufferedInputStream bufferedInputStream
= new BufferedInputStream(url.openStream());
Bitmap bitmap = BitmapFactory.decodeStream(bufferedInputStream);
bufferedInputStream.close();
final Bitmap scaledBitmap = Bitmap.createScaledBitmap(
bitmap,
(int) (992),
(int) (1403),
true
);
final int finalI = i;
runOnUiThread(new Runnable() {
@Override
public void run() {
postImg[finalI].setImageBitmap(scaledBitmap);
}
});
} catch (IOException e) {
e.printStackTrace();
}
progressOFF();
}
}).start();
}
}
public void connectImgtoView(最终整数最大值){
对于(int i=0;i