字體池的應(yīng)用,主要是為了解決字體不斷創(chuàng)建導(dǎo)致句柄泄漏/內(nèi)存泄漏的問題,這個(gè)問題在Android上也同樣存在。
創(chuàng)新互聯(lián)自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊(duì)及專業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。經(jīng)測(cè)試,C# WinForm原生控件不存在字體問題,但是使用的第三方控件Dev 14.1就存在這樣的問題。
所以參照線程池思路,想到了使用字體池的方式,使系統(tǒng)中的字體統(tǒng)一為一個(gè)對(duì)象,經(jīng)測(cè)試,有效解決了泄漏問題。
字體池代碼:
////// 字體緩存類 /// public static class FontStatic { ////// 緩存數(shù)組 /// private static DictionarysFonts = new Dictionary (); /// /// 根據(jù)字體獲取一個(gè)緩存的字體對(duì)象 /// /// 字體 ///已緩存字體 public static Font GetFont(Font font) { string key = string.Format("{0}-{1}-{2}-{3}", font.Name, font.Size, font.Italic, font.Bold); if (!sFonts.ContainsKey(key)) { sFonts.Add(key, font); } return sFonts[key]; } }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。