论文部分内容阅读
WinCE是一种实时嵌入式操作系统,其应用范围广泛,是当前嵌入式开发领域的热点之一。WinCE在内存管理方面与其它操作系统不同,应用程序可用的虚拟地址空间为32MB。而实际项目要求应用程序通过人机交互的方式获得产品的标准图像,并从生产线中自动获取被检测的产品图像,同时进行比较来检测产品是否合格。因此应用程序需要在本地保存产品的标准图像、被检测的产品的图像以及对图像比较过程中产生的数据。这样应用程序的32MB的虚拟地址空间就很容易耗尽,而导致所开发的系统出现死机现象,本文通过对WinCE应用程序32MB以内及其以上内存的优化,解决实际项目中的具体问题,因此本课题具有很大的实际意义。
本文在充分分析WinCE的系统总体架构和内存管理的基础上,结合项目的特点,对WinCE的32MB以内及其以上内存的优化研究出如下八种有效可行的方法。
(1)定制和裁剪 WinCE的内核;
(2)合理利用应用程序的虚拟内存;
(3)定义DLL的加载顺序节省内存;
(4)使用内存映射文件技术;
(5)避免WinCE系统本地堆中产生碎片;
(6)对项目中内存压力较大的进程进行分离;
(7)进程在需要大内存前对剩余内存进行判断;
(8)合理使用垃圾回收机制避免内存泄漏。
这八种方法同时在实际项目中都得到了应用,并产生了良好的效果。