任何人都可以解释为什么不显式调用Dispose(),并且仍然会清理本机资源。它会被隐含地调用吗?
我来到了下面
调用Dispose不需要保证本机资源清理。 原生资源清理最终总会发生;调用 Dispose可让您控制何时进行清理。
// Create the bytes to write to the temporary file.
Byte[] bytesToWrite = new Byte[] { 1, 2, 3, 4, 5 };
// Create the temporary file.
FileStream fs = new FileStream("Temp.dat", FileMode.Create);
// Write the bytes to the temporary file.
fs.Write(bytesToWrite, 0, bytesToWrite.Length);
// Explicitly close the file when finished writing to it.
//fs.Dispose();
应在finally块中的代码中或通过using语句显式调用Dispose。
答案 0 :(得分:1)
当垃圾收集器获取操作系统的资源时,它会清理未引用的对象,但如果你有一个频繁使用的应用程序,那么不必等待它就没那么有用,因为否则你的内存会被填满。然后使用Dispose是非常必要的。
更新: 这些对象甚至不需要实现IDisposable来清理,因为它是被调用的Finalize-Method。
答案 1 :(得分:1)
configurations.maybeCreate("default")
artifacts.add("default", file("NAME_OF_YOUR_FILE.aar"))
包含Finalize method,内部调用.active
:
switch
这意味着当对象不再可以访问时,Finalizer最终会调用它。当然,最好明确地致电$('.tab-pane.active').attr('aria-labelledby')
,因为它让你可以像你提到的那样确定控制清理。