问题标签 [resource-cleanup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 活动生命周期以及如何清理临时文件
我正在编写一个应用程序,允许用户制作照片然后对其进行一些处理。
我使用 IMAGE_CAPTURE 意图启动相机,并提供将照片保存在那里的路径。
这张照片是临时的,我想在我的应用完成后将其删除。
我有一个显示照片并允许用户与之交互的活动,我认为删除它的最佳方法是使用 onDestroy 方法。
我遇到的问题是,当用户更改设备的方向时,活动被破坏并被新的活动替换,但我不能仅仅因为用户改变方向,因为以后需要它而删除文件。
那么,我能做些什么来删除这些文件呢?
是否有任何其他方法可以覆盖,例如 onAppExit,我可以在其中删除所有临时文件?
提前致谢
ruby - 如何正确销毁一个类
在 Ruby 中,我有一个 DAO 类,该类由一个使管理连接更容易的类扩展,该类由一个表示和操作数据库中数据的类扩展,该类由另一个类进一步扩展。要使用动物比喻,它看起来像这样:
在 PHP 中,__destruct
当您销毁/删除一个类时会运行一个方法。如果该类扩展另一个类,您只需像这样添加parent::__destruct()
到该类的__destruct
方法中:
我可以对除Animal
. 由于它没有扩展任何内容,因此该parent::__destruct();
行不再有效。
但是,据我了解,Ruby 的对象没有这样的方法。可以设置终结器,但我决定只放入一个cleanup
我可以在想要销毁/删除类时调用的方法。在我将课程设置为nil
.
然而,这提出了一个新问题。如果方法总是被命名cleanup
并且我调用lion_instance.cleanup
了 ,我假设它调用了Lion#cleanup
. 那么如何让它cleanup
在课堂上调用Cat
,然后Feline
在链上调用呢?
或者这是一个错误的方法,你有一个更好的主意?
c# - 阻止 ac# 控制台应用程序退出的最终代码 [直到自定义清理代码完成]
我们可以一起努力想出一些适用于 control-c、control-break、注销、按下窗口 X 按钮等的东西吗?
这是我到目前为止所拥有的:
两个问题:
在 Managed Control-Break 处理程序中,如果我们设置
e.Cancel = true
它会失败并出现 .Net4 异常。这在没有解决方法的 MSDN 文章中注明:http: //msdn.microsoft.com/en-us/library/system.consolecanceleventargs.cancel.aspx我不知道如何取消
ConsoleCtrlCheck
. 我有一两秒钟的时间来做一些清理工作,但我宁愿取消并确保一切都正确完成。
更新:
感谢您的回复。两者都赞成。将等待看看是否有人可以提出直接解决我要求的答复,否则将接受“使用 NT 服务”答案之一。
java - 有没有一种干净的方法可以给 Java 对象范围提供破坏?
想象一下 MyOpenedFile 是用打开的流包装文件的东西。然后假设这段代码:
问题的实际方法:
现在这很混乱,特别容易出错(例如,finally 块中的某些代码可能很难在单元测试中调用)。例如,在 C++ 中,析构函数会负责清理(由作用域指针析构函数调用或直接调用),代码会更干净。
那么,是否有更好/更好/更清洁的方法来包装上面的业务逻辑代码,以便传播任何异常但两个文件都f1
被f2
关闭(或者至少在两者上都尝试关闭,即使它失败了)?
还可以提供指向任何开源库(例如 Apache Commons)的答案,欢迎提供漂亮的包装器。
magento - 删除 Magento 未使用的文件和数据库表
我已经开发了一个 Magento 站点几个月了,在此过程中,我安装并删除了许多扩展,这些扩展本身在我的数据库和服务器上的文件中创建了许多表,以及我尝试构建自己的多个扩展包括很多文件。
我想知道是否有一种方法可以监视正在读取和使用哪些文件,然后能够删除任何未使用的表或文件。
基本上我只想清理未使用的文件和表的存储。
有谁知道这以前是否做过?如果有的话,还从哪里开始寻找?
问候
powershell - Powershell - “清除项目变量:”与“删除变量”
在运行时将文本临时存储在 powershell 变量中时,在不再需要时从内存中删除变量内容的最有效方法是什么?
我已经使用了两者Clear-Item variable:
,Remove-Variable
但是使用后者从内存中删除某些内容与使用前者将内存内容清零的速度有多快?
编辑:我应该更清楚地说明我为什么要问。
我正在为一堆应用程序虚拟机自动 RDP 登录(应用程序不作为服务运行,外包开发人员,长篇大论)。
因此,我正在开发(基本完成)一个脚本,用于将启动会话分组到每个 VM。
想法是存储凭据的脚本函数read-host
用于提示输入主机名,然后get-credentials
获取域/用户/密码。
然后使用 256 位密钥(存储凭据并运行组启动的机器/用户独有的运行时密钥)从安全字符串转换通行证。
VM 名称、域、用户和加密通行证存储在一个文件中。启动会话时,读取详细信息,解密密码,传递详细信息cmdkey.exe
以存储\generic:TERMSRV
该 VM 的凭据,清除纯文本传递变量,将 mstsc 启动到该主机,几秒钟后从 Windows 凭据存储中删除凭据。(如果我将密码以非明文形式传递给 cmdkey.exe,则 RDP 会话将收到不正确的凭据或没有凭据)。
所以,因此问题是,我需要明文密码尽可能短地存在于内存中。
为了让安全人员满意,脚本本身是 aes256 加密的,并且带有自己的 ps 主机的 ac# 包装器读取、解密和运行脚本,因此运行它的机器上没有明文源。(文件共享上的加密源非常有效,我有一个终止开关,可以简单地用另一个显示该应用已被禁用的消息替换加密脚本)
excel - matlab xlsread打开文件并清理
我在一个 1.4 MB 的 excel 文件上使用 xlsread。运行我的 m 代码几次后,我开始注意到一些奇怪的行为。
- 我无法使用双击打开 excel 文件(只能使用 matlab)
- 2 LARGE (30Mb) EXCEL.EXE*32 文件在清除前打开每个 m 代码运行(我调用该函数 2 次)
我觉得 matlab 没有清理它的文件句柄。我使用角到角的更新代码读取使用以下两行读取数据
调用这两个函数后,任务管理器会显示两个大的 EXCEL.EXE*32 文件。我试过
等我关闭了matlab,它们仍然打开。
尝试重新启动但没有结果后又进行了一些窥探。
xlsread 使用 excel 填充看似服务器的内容以读取信息
清理看起来应该在这里发生
其次是
稍后在节目中。研究表明这应该运行一个名为 xlsCleanup 的清理函数。将文件复制到此处以供参考。
首先,它很讨厌它在没有警报的情况下捕获异常。我检查了,但代码没有抛出异常。看来这条线
只是没有结束这个过程。我不知道是什么导致了这个功能之外的问题(不能再介入了),并且网络上也没有提到它的问题。请帮我解释这种行为。占据了我所有的记忆
svn - 如何在乌龟清理中不显示对话框?
我在本地计算机上为 svn 运行一些计划任务,例如:更新。有时更新无法运行清理问题,所以我添加了清理计划任务,但没有我的干预它无法运行:总是显示对话框:
如何不显示此对话框?真的我什么都没有改变 - 只点击按钮确定。
谢谢。
unit-testing - NUnit 是否支持组装拆卸的概念?
NUnit 是否支持类似于可应用于静态方法的Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute的 Assembly Teardown 概念?
这将在程序集中的所有测试完成后运行。我目前正在使用 NUnit 2.6.0。
linux - 当“参数列表太长”时如何删除所有超过 3 天的文件?
我有一个日志文件目录,其中包含 82000 个文件和目录(大约一半)。
我需要删除所有超过 3 天的文件和目录。
在一个包含 37000 个文件的目录中,我可以这样做:
但是对于 82000 个文件/目录,我得到了错误:
/usr/bin/find:参数列表太长
如何解决此错误,以便删除所有超过 3 天的文件/目录?