真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#字體池技術(shù)實現(xiàn)代碼詳解

字體池的應(yīng)用,主要是為了解決字體不斷創(chuàng)建導(dǎo)致句柄泄漏/內(nèi)存泄漏的問題,這個問題在Android上也同樣存在。

馬尾ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

經(jīng)測試,C# WinForm原生控件不存在字體問題,但是使用的第三方控件Dev 14.1就存在這樣的問題。

所以參照線程池思路,想到了使用字體池的方式,使系統(tǒng)中的字體統(tǒng)一為一個對象,經(jīng)測試,有效解決了泄漏問題。

字體池代碼:

/// 
/// 字體緩存類
/// 
public static class FontStatic
{
  /// 
  /// 緩存數(shù)組
  /// 
  private static Dictionary sFonts = new Dictionary();
 
  /// 
  /// 根據(jù)字體獲取一個緩存的字體對象
  /// 
  /// 字體
  /// 已緩存字體
  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];
  }
}

這里關(guān)鍵點在于判斷需要創(chuàng)建的字體是否已存在緩存字典中,經(jīng)過探索,不能使用Equals等方法,只能折中采用幾個關(guān)鍵屬性組合判斷的方式

以上就是本次介紹的全部相關(guān)知識點,希望創(chuàng)新互聯(lián)整理的內(nèi)容能夠幫助到大家。


網(wǎng)頁題目:C#字體池技術(shù)實現(xiàn)代碼詳解
文章URL:http://weahome.cn/article/gjipds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部