我想知道,如果你暂停一个进程,它仍然使用RAM / CPU还是只释放所有使用过的RAM和CPU?
答案 0 :(得分:2)
暂停进程中的所有线程将阻止线程接收更多的CPU时间,因此一旦剩余的内核中断/操作完成,该进程将不会消耗任何CPU功率,直到线程恢复。暂停进程的未记录的API只是暂停进程中的所有线程,同时保持与进程相关的锁。
暂停的Win32进程不会释放任何内存,但在具有少量可用物理RAM的系统上,可以将部分应用程序从RAM移动到页面文件以释放RAM以供其他活动应用程序使用。可以调用SetProcessWorkingSetSize
来强制减少流程工作集中的页面。
UWP / Store应用程序具有更高级别的暂停类型,其中应用程序有一个小时间窗口来保存其状态,然后整个过程可能被终止。如果用户终止,则会在用户切换回应用程序时启动新进程。
系统尝试在暂停时将您的应用及其数据保留在内存中。但是,如果系统没有足够的资源将应用程序保留在内存中,it will terminate your app。