我现在正在使用Firebase工作,我在尝试同时从Firebase存储中获取多张图片时发现了一个问题。日志显示的内容类似于 - threads 128 pool full..
。
我认为这是因为我将Firebase下载图片代码放在一个循环中,以便我可以下载所有图片。请参阅下面的代码。
StorageReference islandRef = storageRef.child("images/island.jpg");
final long ONE_MEGABYTE = 1024 * 1024;
islandRef.getBytes(ONE_MEGABYTE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
@Override
public void onSuccess(byte[] bytes) {
// Data for "images/island.jpg" is returns, use this as needed
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle any errors
}
});
所以在查看堆栈中的解决方案之后,我发现我可以通过URL下载图片而不使用Firebase的方法,并且不会打开好的线程,但现在我不知道如何获取通过此方法访问的URL:
url = new URL (storageRef.getDownloadUrl().toString());
bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
谢谢。 =)