问题标签 [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 - 关闭所有活动、服务、线程。退出Android应用程序时等
我正在编写一个 android 应用程序,当我第一次运行它时它运行良好,但是当我尝试第二次运行它时它变得不稳定。我想也许我第一次启动的线程或服务仍然可以继续工作,而我第二次启动应用程序时会出现冲突或其他问题。在我的应用程序中,我有一个主要活动,我从中启动一个服务,并在服务内部启动一个运行的线程。退出 Android 应用程序时要遵循的一般准则是什么。有什么具体的事情要确保它在退出后没有任何东西继续运行并确保应用程序不持有一些资源,换句话说,它是一个干净的退出。
以下是有关我的应用程序的更多详细信息:我的主要活动是这样的:
我的服务看起来像这样:
multithreading - 池化:清理池
我有一个文件服务器连接池。(缓存连接的文件服务器)现在,如果池中有 100 个打开的连接,我想在一段时间后进行清理。
我会在 15 分钟后进行清理。(例如在 15 分钟不活动后关闭 20% 的活动连接)
为此,我需要记住最后一个传入请求的时间戳。(作为静态变量)
这在多线程架构中可能吗?也许,如果两个写操作同时发生,则变量中的值已损坏。
.Net 是否确保此写入操作是原子的?
scala - 一次性资源模式
Scala 库中是否有任何标准化来支持一次性资源模式?
我的意思是类似于 C# 和 .NET 支持的东西,仅举一个例子。
例如,官方 Scala 库是否提供如下内容:
注意:我知道这篇文章 « Scala finally block closing/flushing resource » 但它似乎没有集成在标准库中
sql-server - 数据库清理
我继承了一个格式不正确的 SQL 服务器数据库。(一些咨询公司进来做这个项目,没有完成就离开了)我对这个数据库的主要问题是:
- 数据类型:很多 tinyint 和 text 类型。
- 表未标准化:一些键是名称而不是 seq id。
- 很多我不确定的表正在被使用
- 很多我不确定的存储过程正在被使用
- 命名错误的表和存储过程
我还继承了针对该数据库运行的 asp.net 应用程序。
我想清理这个数据库。我知道必须在每个表上更改数据类型。摆脱所有额外的表和存储过程。最简单的方法是什么。任何其他使其更清洁和更小的技巧都值得赞赏。
我还想提一下,我安装了 RedGate 工具。(如果有帮助的话)。
谢谢
ios - 如何识别 App 何时被卸载
当我的应用程序被用户卸载时,我想执行一个功能。
使用 Cordova,有没有一种方法可以检测卸载事件并执行某些操作?例如,清理资源。
谢谢
opencv - OpenCV 安装后清理
我下载了 OpenCV 2.4.3 库并按照安装说明进行操作。安装很顺利,就像cmake-gui
一些配置,然后make
和最后sudo make install
。
一切都很好,但现在我想删除可以删除的内容并且不干扰安装。有:
i) 下载的 .tar 库 -> 这肯定会被删除
ii)提取的库->我想删除它但不确定是否会干扰
iii)带有已编译库的文件夹(发布)..这是最大的,我想删除它:)
我只剩下 500MB+了。在安装 OpenCV 之前,我有3.2GB。
ruby-on-rails - 清理 Git 存储库:Rails 项目,错误地将 Gems 添加到 Repo
我试图解决一些 gem 冲突的问题,我将所有的 gem 添加到供应商/缓存中,我已经删除了它们,但现在我有一个 40M 的包文件,它曾经小于 1M。
我试图过滤分支
这通过一个 rm 命令列表,例如:
然后在最后
最后我跑
但是我仍然有同样庞大的对象数量,并且包文件仍然是 40M。我什至尝试在没有任何变化的情况下强制推动。知道如何在这个错误之后清理我的存储库吗?
java - ThreadPoolExecutor 在线程死亡时清理
我有一个ThreadPoolExecutor
运行几个核心和一定数量的最大线程。运行的任务为每个线程创建 HornetQ(独立)连接,并在线程运行时使它们保持活动状态。keepAliveTime
但是,当线程到期并且线程死亡时,我们无法关闭它们。有没有办法在线程死亡之前清理资源?
解决这个问题的一种方法是对 HornetQ 连接使用池化解决方案。
任何建议都受到高度赞赏。
perl - 在模块中放置 END 块是不礼貌的吗?
在这个例子中保留块是否可以END
,因为没有人想要一个损坏的终端,或者我不应该END
在模块中放置一个块?
unit-testing - 单独 JVM 中的 Junit 清理
是否可以运行 maven 或 ant,使 Junit 测试中的 @After 和 @Before 标记方法在单独的 JVM 中运行?诚然,由于这些通常每个测试用例运行一次,其 JVM 是在外部创建的,我怀疑使用这些直接注释是否可以实现此目标,但是,也许有一种方法可以定义外部 JVM 清理和设置指令。
即使 JVM 在测试期间死机,这也将允许清理系统资源。