制作的一个联系人面板,当联系人总数在100左右时,每次GDI句柄总量总是在2300左右,通过一个下午的调试(-_-!),终于发现问题出在面板中加载的icon按钮身上。这个按钮是我自己写的,目的是加载ico文件作为皮肤,透明地显示在它的父窗体上。我采用了gdi的方式实现,为了满足透明,我在按钮每次刷新时都将前次背景色保存了一下,用以达到透明背景的假效果,这个操作会多产生两个gdi资源。找到原因后,我将所有gdi部分代码改用gdi+来重写。同时删掉了背景保存和重绘的代码。重新运行,发现gdi句柄总数仅仅是原来的差不多八分之一。100个联系人时,句柄总数是306个。真是high到了极点。咱们老百姓,今儿个真高兴。
gdi资源瘦身
最新推荐文章于 2018-12-01 14:30:06 发布