![]() |
1
0
服务和桌面应用程序之间最重要的区别是运行应用程序的用户。从服务控制面板上的“登录”选项卡进行检查。默认设置为“本地系统帐户”,其权限可能低于桌面用户。将其更改为当前用户,然后再次检查应用程序。 所有即将消亡并具有终结器的对象都被放入称为“终结器队列”的队列中。GC逐个运行终结器,如果终结器卡在无限循环中,则整个GC被阻塞。最明显的影响是,内存使用量不断增加。您可以通过添加这样的代码来模拟它。
首先,检查所有终结器。从本地系统帐户执行可能会在某处导致无限循环。 也许您没有任何终结器,那么您应该对其进行一些启发。还有一个名为dotMemory的实用程序(不是空闲的,但有一些试用期),它遍历未释放对象的所有堆。这会有帮助。 |
![]() |
Brixton Weiss · 在方法内部创建的实例 6 年前 |
![]() |
Henry Marshall · 通过引用替换JS对象[重构工作代码] 6 年前 |
![]() |
NNguyen · C++采访关于返回int*值的范围问题 6 年前 |
![]() |
cesarknbv · 已分配内存在堆栈或堆中 7 年前 |