Android URL openStream';关闭';不打电话
我已经在我的应用程序中启用了严格模式来检查任何未关闭的游标/输入流 我遇到了一个障碍,它一直告诉我,尽管调用了close,但我没有正确地关闭输入流Android URL openStream';关闭';不打电话,android,Android,我已经在我的应用程序中启用了严格模式来检查任何未关闭的游标/输入流 我遇到了一个障碍,它一直告诉我,尽管调用了close,但我没有正确地关闭输入流 private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { AddressBookContact _abContact; public DownloadImageTask(AddressBookContact abCo
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
AddressBookContact _abContact;
public DownloadImageTask(AddressBookContact abContact) {
_abContact = abContact;
}
protected Bitmap doInBackground(String... urls) {
Bitmap mIcon11 = null;
InputStream in = null;
try {
//Load photo from URL
URL url = new java.net.URL(_abContact.getPhoto());
in = url.openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
e.printStackTrace();
} finally {
if(in != null) IOUtils.close(in);
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
....
}
在我有机会关闭它之前?不知道发生了什么
这是它给我的错误
A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
java.lang.Throwable: Explicit termination method 'close' not called
尝试将
url.disconnect()
添加到最后的块。@Ivan hmmm我在url对象上看不到可用的断开方法?嗯,是的,很抱歉,我没有看到url来自java.net
。我从未实际使用过IOUtils
,但正如我在方法close()
中看到的,他们说关闭URLConnection。但是你有一条小溪。。。不知道,在黑暗中钓鱼。但是我会尝试在finish
块的末尾添加in.close()。我尝试使用in.close()而不是IOUtils,得到了相同的结果。即使在您第一次调用AsyncTask时,也会出现此异常?我在某处发现一个人声称清单中的错误导致了这个错误。很长一段时间,但直到有人给出答案。尝试将url.disconnect()
添加到finally
块。@Ivan hmm我在url对象上看不到可用的断开连接方法?嗯,是的,很抱歉,我没有看到url来自java.net
。我从未实际使用过IOUtils
,但正如我在方法close()
中看到的,他们说关闭URLConnection。但是你有一条小溪。。。不知道,在黑暗中钓鱼。但是我会尝试在finish
块的末尾添加in.close()。我尝试使用in.close()而不是IOUtils,得到了相同的结果。即使在您第一次调用AsyncTask时,也会出现此异常?我在某处发现一个人声称清单中的错误导致了这个错误。很可能,但直到有人找到答案。
A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
java.lang.Throwable: Explicit termination method 'close' not called