Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用循环从url加载图像_Java_Android_Stream_Bitmap_Bitmapfactory - Fatal编程技术网

Java 使用循环从url加载图像

Java 使用循环从url加载图像,java,android,stream,bitmap,bitmapfactory,Java,Android,Stream,Bitmap,Bitmapfactory,我正在使用以下代码从服务器下载图像: public Bitmap getBitmap(String path){ URL url=new URL(path); URLConnection connection=url.openConnection(); connection.setDoInput(true); connection.connect(); InputStream is=connection.getInputStream(); Bitm

我正在使用以下代码从服务器下载图像:

public Bitmap getBitmap(String path){
    URL url=new URL(path);
    URLConnection connection=url.openConnection();
    connection.setDoInput(true);
    connection.connect();
    InputStream is=connection.getInputStream();
    Bitmap bmp=BitmapFactory.decodeStream(is);
    return bmp;
}
它对一幅图像很好,但如果我在循环中使用它,在第二次、第三次等迭代中,它会返回一些奇怪的东西(位图的
mWidth
mHeight
字段是
-1
问题出在哪里?

path
第二次、第三次等。迭代很好,我检查了这个)

编辑

循环示例:

//images - is a String array
for(int i=0; i<images.length(); i++){
    Bitmap bmp=getBitmap(images[i]);
}
//images-是一个字符串数组

对于(int i=0;i尝试调用
Bitmap。在使用完一个位图后,但在加载下一个位图之前,请循环使用

问题是,即使比可能也无济于事——位图无法调整自身大小

也许,最好让位图数组成为一条永远的路径

我担心,由于优化而导致的java机器(或编译器)不会破坏以前的位图,而是尝试重用它。请在这里写下结果。这很有趣

尝试读取不读取图像的图像大小:

    BitmapFactory.Options options = new BitmapFactory.Options();
                options.inJustDecodeBounds = true;

Bitmap btemp = BitmapFactory.decodeFile(selectedImagePath,options);
在此之后,使用以下代码获取高度和宽度:

     options.outHeight     for height
      options.outWidth    for width
你看到了什么


尝试更改路径的顺序-同样,只有第一个路径是可以的?如果不是,问题在文件中。如果是,在连接/流/工厂中。

请在这里说明您是如何进行循环的。在我看来,这里的许多人投了非常难回答的问题,他们不知道如何回答。我不同意这种政治,因此我提出你在这里投票。@Gangnus,像“错误在哪里?”这样的问题听起来总是很糟糕)我的错误。这里有很多询问者要求找出错误。愚蠢的阿瑞永远不会受到惩罚。重复的问题——永远不要,如果它们很容易的话。格式错误-总是。英语不好——主要是(那些没有幸出生在讲英语的国家的穷人!)和难学的人——如果他们不是关于某种外来技术,而是关于通常的技术,但需要深度、思考或研究。我试过,但仍然一无所获。我不认为JVM可以重用以前的值,因为有一个BitmapFactory类,它总是返回新实例并在不同的对象中加载位图?尝试更改路径的顺序-同样,只有第一个路径可以吗?如果不是,问题就出在文件中。如果是,则在connection/stream/factory中。看起来像是流中的某个地方出现了问题。我决定改用WebView会更有效。不过,谢谢)没什么,快乐就在我这边。但遗憾的是,我不知道还有一个关于流/位图/连接的问题。