所以,我有一个 [.NET] 程序,它实现了一个 NotifyIcon,它在程序运行的整个过程中都存在于 Windows 的通知托盘中。当我第一次执行程序时,以及之后的一小段时间,NotifyIcon 和相关的 ContextMenuStrip 发挥了绝对的魅力。
但是,在机器处于较低功率状态或闲置几个小时后,尝试访问上下文菜单时,对象可能需要长达 2 秒的时间才能绘制。
是否需要定义一些持久性以使菜单响应更快?我是否启用了触发资源清理的错误事件?
编辑
看起来我有 3 个选项来看看我是否可以让它工作:
1. 将一个SecureString
对象插入到ContextMenuStrip
对象中;这假设通过在SecureString
内部ContextMenuStrip
,整个对象将被视为相同并且不会被页面交换
2. 创建一个以某种方式Timer
触及ContextMenuStrip
on 间隔以将其保留在内存中
3. 更改Process.MinWorkingSet
应用程序何时完成初始启动尝试(阅读:希望)ContextMenuStrip
对象保持活动状态而不是其他东西
我真的不喜欢第 2 项或第 3 项;3 特别。我将尝试第 1 项,看看它是否有效。
感谢您迄今为止的回复!