在Windows Mobile应用程序开发的初期,可以使用SDK自带的模拟器来进行调试,这给我们开发人员提供了一种方便的途径。一般的应用程序,占用空间的大小也就几百K,或者几M,这在模拟器上调试起来一点问题也没有。但是有的时候,我们要安装的程序或者需要Debug的程序超过了一定的大小以后,如果按照默认的系统设置,就无法进行调试了。为什么?就是因为我们打包了比较多的dll和资源库,使得系统的存储空间耗尽。通过这篇文章,你就可以了解如何摆脱模拟器存储空间的限制。
1. Windows Mobile模拟器存储空间浏览
首先,我们来看看Windows Mobile模拟器默认存储空间的情况。以下我仅列出了PocketPC 2003se Emulator、Windows Mobile 5.0 PocketPC R2 Emulator、Windows Mobile 6 Professional Emulator和Windows Mobile 6.5 Professional Emulator这4中模拟器的Memory Setting:
图1:4种WM模拟器的Memory Settings情况
从图1中我们可以看到,除了PocketPC 2003se Emulator可以让用户来调整Storage和Program的空间大小比例以外,其他3种模拟器的Storage大小都是32M,用户不可调整;而Program的大小确各不相同。下面,我们来看看如何对这些不同版本的WM模拟器的Memory进行扩展。
2. WM模拟器Memory扩展方法
2.1 Program Memory扩展方法
对于模拟器中的Program存储部分,我们可以通过Visual Studio的设置来改变,该方法对于以上4种模拟器均适用。具体方法如下,通过Tools –> Options -> Device Tools -> Devices菜单,选中目标模拟器,以Windows Mobile 6 Professional Emulator为例,点击右边的"Properties”菜单,然后在弹出的对话框中选"Emulator Options”,在“Specify RAM Size”中填写需要的存储空间大小,这里我填写了256。重启模拟器以后,就能够看到Program的大小改变了。如下图2所示:
图2:使用Emulator Options改变Program空间大小
2.2 利用Storage Card进行扩展的方法
有时候我们需要在模拟器上安装一些应用程序来测试,这就可以通过Storage Card来进行扩展,该方法对于以上4种模拟器均适用。具体方法如下,选择模拟器的File->Configure->General->Shared folder,并选择本地PC的一个文件夹,映射为模拟器的Storage Card。如下图3所示:
图3:利用Storage Card进行扩展
2.3 改变程序调试目录进行扩展
我们建立的Windows Mobile项目,默认的程序调试路径为My Device->Program Files,如下图4所示:
图4:程序调试默认路径
但是有的时候,我们调试的应用程序可能会占用很大的空间,如果超过了Storage的限制(32M),那么肯定就无法进行调试。既然Storage的大小为32M,已经hard code了,那么我们有没有办法来改变程序调试的路径,使其也映射到本地PC文件夹呢?答案是肯定的。具体方法如下:点击”Project Properties”,(注意不是Solution Properties),改变Device中的Output File Folder,例如改为“\storage card\***”,这样,当你Debug程序的时候,就会下载到Storage Card当中去了,而Storage Card又已经通过方法2.2映射到本地PC的文件中去了。因此,我们就不用受32M Storage空间的限制了。如下图5所示:
图5:改变程序调试目录进行扩展
2.4 PocketPC 2003se Emulator 中改变Storage和Program的比例
在PocketPC 2003se Emulator中,如果需要调试比较大的程序,我们可以通过方法2.1,将RAM空间变大,然后再改变Storage和Program的比例,来扩大Storage。如下图6所示:
图6:PocketPC 2003se Emulator扩大Storage
3. 总结
本文总结了4种扩展Windows Mobile存储空间的方法,特别是第三种方法,在Debug阶段,如果调试的应用程序占用空间比较大,通过该方法就可以顺利进行调试。希望本人在这里总结的这些方法对广大Windows Mobile开发爱好者有用。
本文转自施炯博客园博客,原文链接:http://www.cnblogs.com/dearsj001/archive/2009/08/15/ExtandWMMemory.html,如需转载请自行联系原作者