我的项目中有以下代码:
public void downloadFromUrl(URL url) {
try {
/* download the image */
URLConnection cn = url.openConnection();
cn.connect();
InputStream is = cn.getInputStream();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPurgeable = true;
options.inInputShareable = true;
mImage = BitmapFactory.decodeStream(is, null, options);
is.close();
} catch (final Exception e) {
e.printStackTrace();
}
}
我的问题是,由于inInputShareable设置为true,位图将共享对输入数据(输入流)的引用。这是否意味着位图将始终保持对InputStream的引用?我应该在我的代码中调用is.close()吗?我担心如果调用is.close(),InputStream中的数据将会丢失。感谢。