一、背景
《Android源码设计模式解析与实战》学习依赖倒置原则和接口隔离原则时书中所记,平时开发过程中并没有注意到,所以就记录一下。
二、代码背景
在Java6以及之前的JDK版本,有一个非常讨厌的问题,那就是在使用了OutputStream或者其他可关闭的对象之后,我们必须保证它最终被关闭了,否则可能会造成内存泄露等。这些可关闭的对象其实都是实现了一个Closeable接口,一共有100多个,我们可以抽象出来建一个统一方法来关闭。
三、具体实现
public final class CloseUtils {
private CloseUtils(){}
/**
* 关闭Closeable对象
* @param closeable
*/
public static void closeQuietly(Closeable closeable) {
if(null != closeable) {
try {
closeable.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
}
四、总结
以后遇到这类对象时,可以参考这种方式通过他的抽象进行统一解决。