斗地主小游戏,斗地主小游戏大全免费下载,4399在线小游戏7k7k

优化Windows CE 程序

在有限的RAM和有限的再现空间编程的要怪异思量的事Windows CE是彻底为小平台策画的一个新的Windows 版本 。即使它只赞同Win32 API的子集而就义了向后兼容性,但Windows CE通过将一个小版本的Windows扩展到英特尔x86系列以外的措置器而开拓了新范围。在这一卷中,我们将讨论一些技能优化Windows CE标准以缩小它的内存占用。我们将讨论 召唤栏,Windows CE的一个新的怪异的联络了器材栏和菜单元素的控件。Windows CE编程最重要的方面是需要管理一个标准可用的有限的内存。其余的Windows编程能够假定具体无尽的内存空间。即使一台PC机只有4MB 或8MB的RAM,Windows也能够用一个相易文件在硬盘上创建大量虚构内存。但Windows CE铺排只有2MB的RAM,且有一半用于,联众世界下载文件保管。Windows CE运用标准必需尽可能缩小所占用的内存空间以便在云云少的内存处境中生计。在策画标准时,你应该明晰分拨给Windows CE的分别类型的内存和怎样最大限制地运用它们。内存分拨函数的主题集措置虚构内存。即使Windows CE不维护磁盘上的一个页面文件,它依然有一个赞同基于页面的虚构内存的内存扞卫方案。虚构内存函数是分拨灵验内存给一个标准的最可以想法。当一个标准需要大块内存时应运用它们。Windows CE在内存少时局限单一虚构内存的大小。胜过64K的分派——也许偶然乃至只有16K都市波折即使体系须要更多灵验的内存空间。云云来制止任一法度模范占用一切灵验的RAM。当你须要假造内存,你要实在说明字节块的大小。然后,体系会在下一页面的起先部门分派。Windows CE称赞几种措置器——经常的Hitachi SH3,NEC R4100,和 Phillips 3910——它们有不同的页面尺寸,Hitachi和NEC是1K而Phillips是4K。因为内存特殊贫乏,这些不同也许很不便。比如,在一个基于Phillips CPU的体系中,一个10字节的假造内存哀求返回一块4K大小的地区,同样的哀求在Hitachi体系中将返回1K。编程人员面临的挑衅是改变应用法度模范使其在一切体系中运行良好。堆是分派小联众世界大厅下载的内存单元,即从一百到几千字节,最合适的场面。不同于Windows 3.x有64K的节制,Windows CE不节制堆的大小。当给定分派后操作体系扩展堆。当堆的内容释放,体系将尽也许的缩小堆的一切大小。但Windows CE不称赞堆内可重定位的内存块。这意味着一守时间后堆也许形成碎片——更清晰的说即是,一些小块被分派到许多页面,以至内存不可以从体系释放。措置碎片题目的一个想法是用HeapCreate分派一个零丁的堆用具。然后你就可以在它内里分派和释放小块内存。即使堆用具和堆本身一致同样有碎片题目,但当它的内存不再须要时,堆用具可以完全释放。因为堆东西必要一些经常的开销,该当避免在少于5K时创制堆。差别于每天封锁或一个礼拜关一次的PC机。手持 PC机历来不真正封锁,它们不过在某处挂起。这意味着一个程序一次也许运行几个月。编程人员必需奇特关注去懂得让一个程序运行很长时间的题目。因为编制很少从头开发,内存漏失逐渐积聚并会惨重感化本能机能。当然,分配内存最简略单纯的地点是在堆栈,它不会产生碎片。当数据压入堆栈。编制用虚拟内存分配主动增进堆栈。能够分配给恣意函数的堆栈内存有限——只方才超过50K。但除了一些极端的情状,这并不是一个题目。虚拟内存分配不但在内存少的情况下挫折,它们在编制企图增进堆栈时也会挫折。当编制不可以增进一个堆栈,它停歇属于堆栈的线程直到内存释放。当你计划一个运行在内存很少的情状下的程序时默契这一点分外首要。当内存太少,编制将要求用户封锁一个程序。一个WM_CLOSE新闻就会发送给用户采选停止的程序窗口。要是程序将多量数据压入堆栈并且编制不可以增进堆栈,程序将挂起。要是程序在8秒内没有封锁,编制将逼迫停止它的线程并把它从内存根除,这或者导致多量数据迷失。为避免这种情况,一个程序终结不该当在堆栈中压入多量数据。要是你有一个留存改造的对话框设置?对话框创制并潜伏,筹备在程序必要封锁时显现,那么你将避免在程序停止时分配内存给对话框。



(本文地址:http://www.huatend.com/doudizhuxiaoyouxidaquan/20120129/1912.html)
推荐内容
斗地主 - 斗地主游戏