Я получаю следующее нарушение, о котором сообщает StrictMode в Android.
02-05 04: 07: 41.190: ОШИБКА / StrictMode (15093): был получен ресурс при трассировке прикрепленного стека, но никогда не выпускается. См. Java.io.Closeable для информация по предотвращению утечки ресурсов. 02-05 04: 07: 41.190: ОШИБКА / StrictMode (15093): java.lang.Throwable: явное завершение метод 'close' не вызывается
Это коряво из-за того, что потоки не закрываются должным образом. Однако не следует ли закрытие в
закрывать базовые потоки? В чем может быть причина отмеченной ошибки?
private ArrayList loadPath() {
ArrayList uris = new ArrayList();
if (mFile.exists()) {
ObjectInputStream in = null;
try {
in = new ObjectInputStream(new BufferedInputStream(
new FileInputStream(mFile), STREAM_BUFFER_SIZE));
ArrayList strings = new ArrayList();
strings.addAll((ArrayList) in.readObject());
for (String string : strings) {
uris.add(Uri.parse(string));
}
} catch (Exception e) {
mFile.delete();
} finally {
IOUtils.closeQuietly(in);
}
}
return uris;
}
public static void closeQuietly(InputStream input) {
try {
if (input != null) {
input.close();
}
} catch (IOException ioe) {
// ignore
}
}