我对流有疑问。我使用它们将数据写入外部SD卡上的文件。通常,最佳做法是在不再需要时关闭所有流。但是,如果我经常将数据写入我的存储设备,例如每秒多次?将流保持打开而不是关闭它会更好吗?
答案 0 :(得分:0)
是的,当不需要它们时关闭流更好但是如果它们在使用中从不关闭它们直到你完成@sharp说打开流是昂贵的操作并且这样做会不断地减慢你的应用程序并增加它& #39;内存使用情况。
但请记住,这种情况你应该关心异常处理
您应该关闭流的位置,因为如果流未关闭,则底层操作系统无法释放本机资源
请查看Java Anti-Patterns和PerformanceTechniques
如果你使用的是现代java JDK,你应该看一下
try-with-resources Statement
那么你将永远不必明确地关闭流。 (这就是首先添加资源尝试的原因。)
{来自java Doc}
" try-with-resources语句是一个声明一个或多个资源的try语句。资源是一个对象,必须在程序完成后关闭它。 try-with-resources
语句确保在语句结束时关闭每个资源。任何实现java.lang.AutoCloseable
的对象(包括实现java.io.Closeable
的所有对象)都可以用作资源。"