我有.net 3.5 SP1在WPF開發完成。WPF PresentationFontCache。這是什麼?
當我運行我的WPF應用程序時,我看到名爲「PresentationFontCache」的進程出現在我的進程列表中(任務管理器上)。即使在WPF應用程序關閉之後,該進程雖然看起來無害,但實際上卻駐留在內存中。這個過程究竟是什麼?它有什麼作用?
因此,當我嘗試檢查內存使用情況時(通過執行和關閉應用程序多次),該過程給人感覺有些內存仍在使用中。我也觀察到這個過程可能會導致資源匱乏(在某些情況下CPU佔用率30%和/或100 MB內存使用量)。
我找到了名爲「Windows Presentation Foundation Font Cache 3.0.0.0」的windows服務,它可能負責生成此過程。該服務聲稱它通過緩存常用字體數據來優化WPF應用程序的性能。如果WPF應用程序尚未運行,它將啓動此服務。它可以被禁用,但這樣做會降低WPF應用程序的性能。
但是,爲什麼在WPF應用程序關閉後,Windows服務自身關閉了進程。
或者它是否實際上緩存用於任何WPF應用程序的字體信息,以便下次任何類似應用程序重新運行時將使用緩存而不重新生成應用程序的字體?如果不是那種不能被垃圾收集的數據類型?是不是導致內存泄漏的可能原因?
拜託我吧。
Thx Vinit。