Windows系统下加载大量位图失败,该如何解决?
开发管理设备的软件,每台设备用一个图标来表示,当往系统里加入约200台设备的时候就不行了,LoadBitmap失败,显示异常,有时候会崩溃,特求解决方法。
[解决办法]
照说几百个应该没有超过限制,但是可能你还有其他GDI句柄,或者没有及时释放GDI资源。你可以在失败的时候调用GetLastError()看看错误原因。
管理大量位图,如果是图标的话(大小一致)可以用CIimageList图像列表,也可以用一张大图来切块(游戏常用)。数量大最好也不要用资源存放,而是放到文件中,程序初始化的时候读取。另外不同显示场景一般不会同时用到太多种类的位图,要及时释放不需要的GDI资源。
[解决办法]
就算是内存泄露也不会崩溃。
建议 http://www.codeproject.com/listctrl/ThumbsViewer.asp?df=100&forumid=21097&select=1977354#xx1977354xx