??xml version="1.0" encoding="utf-8" standalone="yes"?>
按F5QDeploy成功之后q卛_个消息款Q只有一?#8220;定”按钮Q没有Q何别的提C。折腾了半天依旧如此Q网上查资料Q可能是׃q做Windows Mobile开发的人太,没几个h遇到q个问题Q相似的都是说ASP.net在VS2010下无法启动调试,需要修改Web.config配置{?br />
不幸中的万幸是我卸蝲掉VS2010之后Q一切都正常了,所以之后也一直没安装VS2010?br />
而最q项目需求又要用到VS2010Q我清理了半天已l?#8220;见红”的系l盘之后开始安装VS2010 Ultimate版本Q之前装的是Express版,安装中还不断祷不要出现以前那种问题。结果,q是出现了,N我只能卸载掉VS2010么?毕竟调试Windows MobileE序是必ȝ。心不甘Q毕竟装一ơ卸一ơ花Ҏ间不?br />
用google搜烦了半天后Q终于,功夫不负有心人,在Microsoft的官方网站上扑ֈ了解x案:
http://social.msdn.microsoft.com/Forums/en/windowsphone7series/thread/7afdadc0-7e16-4018-85a8-a13fe9c4b8cb
览完整个帖子之后,知道大概~由是这P
׃VS2010改变了某些环境变量,DVS2008找不到调试器Q在我的机器上,VS2008的智能设备调试器存放处是Q?br />C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\Debugger\target\wce400\armv4i\edm2.exe
这个文件复制到VS2010的相应目录下OK了:
D:\Program Files\Microsoft Visual Studio 10.0\SmartDevices\Debugger\target\wce400\armv4i\edm2.exe
也许你已l发玎ͼ׃pȝ盘捉襟见肘的剩余I间Q我把VS2010安装到D盘了Q但在系l盘依旧要占用不空间的。希望老板很快l我换好机器……
打开q接讄对话框,在我的手Z是这hC的Q?br />
<?>
各台机器上可能不一Pq没关系Q我们现在点“高”标签Q如图:
<?>
再点“选择|络”按钮Q如图:
<?>
点击下拉框,发觉除了“单位讄”?#8220;Internet讄”两个|络讄之外Q还有一个名?#8220;MMS”的设|,Z减少qhQ我们现在只要保?#8220;单位讄”?#8220;Internet 讄”Q把其它的设|删除。在下拉框中选中“MMS”Q如图:
<?>
?#8220;~辑”按钮Q如图:
<?>
选择“常规”标签Q如图:
<?>
?#8220;删除讄”按钮?br />全部删除不必要的|络讄之后Q(特别说明Q事实上Q?#8220;单位讄”?#8220;Internet 讄”两个|络讄虽然不能被删除,但它们的名称却是可以改的Q这里假设这两个|络讄的名字还是默认的名字Q没有被修改Q在“选择|络”对话框中Q按照图3去设|,上面选择“Internet 讄”Q下面选择“单位讄”Q?#8220;单位讄”是个不太好理解的名称Q在英文版的Windows Mobile中,它的名字?#8220;My Work Network”Q直译过来应该是“我的工作|络”Q?#8220;Internet 讄”在英文版中的名称?#8220;My ISP”Q直译过来应该是“我的Internet服务提供?#8221;Qȝ来说Q意思都不是很明,q也是让惑的原因之一?br />特别要说明一下的是Q?#8220;Internet 讄”?#8220;单位讄”q两个网l设|是删除不掉的?br />我们现在单地q么理解Q?br />“Internet 讄”是直q模式,?#8220;单位讄”是代理模式?br />现在Q我们点“在程序自动连接到Internet?#8221;下面?#8220;~辑”按钮Q如图:
<?>
如果已经有连接项了,那么先把q接删除,Ҏ是按住连接项Q然后在呼出的上下文菜单中选择“删除”Q如图:
<?>
在图7的界面中?#8220;新徏”按钮Q然后如图设|:
<?>
其中的名U可以v别的名字Q不一定是“UdInternet”Q这个ƈ不媄响最l的l果Q好了之后点“下一?#8221;Q再如图讄Q?br />
<?0>
特别说明Q我使用的网l是Ud的,所以这里填cmnetQ如果我没记错的话,联通的q里应该填写“uninet”Q联?G|络的话应该填写“3gnet”Q电信的则填?#8220;ctnet”?br />好了之后?#8220;下一?#8221;Q这步留I,什么都不用填,直接点完成,如图Q?br />
<?1>
q个时候,我们p看到我们刚添加的q接了Q如图:
<?2>
?#8220;ok”Q回C一界面Q现在点“在程序自动连接到专用|络?#8221;下面?#8220;~辑”按钮Q出CcM?的界面,删除掉不必要的连接项后,我们?#8220;新徏”Q如图设|:
<?3>
完成后点下一步,再如图设|:
<?4>
q里我输入的是cmwapQ因为我用的是移动的|络Q联通的应该是uniwapQ联?G的应该是3gwapQ电信的应该是ctwapQ大家根据实际情况输入。然后下一步,q步不需要填写什么内容,留空卛_。再?#8220;完成”Q如图:
<?5>
“单位讄”和前面的“Internet 讄”不同的是多了“VPN”?#8220;代理服务器设|?#8221;的标{,从上囑֏以看出来Q所以我前面也提CQ?#8220;Internet 讄”是直q模式,?#8220;单位讄”是代理模式。我们接下来讄代理服务器,?#8220;代理服务器设|?#8221;标签Q如图设|:
<?6>
再点?#8220;高”按钮Q如图设|:
<?7>
okQokQok……
q样应该完成了?br />如果q是不行Q那估计是手机的电话模块有问题Q我遇到过q种情况Q电话能打,短信能收能发Q但|络无论如何都用不了Q重新刷机有可能解决q个问题Q另外还有可能就是电话欠费而停ZQ即便你充了||络服务也未必马上能开通,关闭q新打开电话或者重启手机可能解册个问题?img src ="http://www.shnenglu.com/guogangj/aggbug/147787.html" width = "1" height = "1" />
仔细看菜单栏上的“S”按钮Q这是搜狗输入法的按钮,现在它应该处于关闭状态,而输入法面板却还在显C,q且Q点上去无效Q效果是“点击IK?#8221;Q下面这张图是输入法面板正常的情况:
q是菜单栏上的输入法按钮处于Ȁzȝ态?br>
当出现问题的时候,你让企图通过“遮挡/重新调出”的手D让q块区域重绘Q那会导致类g面的情况Q下面这张图是我呼出开始菜单,然后又关闭开始菜单之后,得到的结果?br>
事实上,我的应用E序H口实是填满了整个客户区的Q至于ؓ什么不能正常刷斎ͼ真是令h费解。但l过大量折腾Q我看v来是解决了这个问题,那就是把我窗口处理函C的代码拿掉一点:
产生q种疑问的根源在于WM5/6pȝ讄实际q没有显C出实际ȝRAM定wQ它所昄的只是WM操作pȝ在蝲入时及蝲入后应用E序和进E所可控?支配的内存总量Q它包括“已?#8221;QIn useQ和“闲置”(Free)两部分。其?#8220;已?#8221;部分除操作系l占用外Q还包括了硬仉动,个h信息理Q电话拨L在系l启动时自动加蝲的,用户实际没有控制权的E序。这些程序,一部分来自微YQ一部分来自讑֤刉商Q还有一部分来自Ud通讯服务商(PPC PhoneQ?/p>
除设|中所昄的d量外Q其余部分的内存被固定用作了其它斚w的用途而ƈ未被pȝ讄里的内存状况昄所计算在内。这是用h不能控制的ƈ且更为隐蔽的另一部分被占内存?/p>
q部分隐蔽的被占内存主要被用在了五个斚w?/p>
1. ~存池(Page PoolQ?/strong>
pȝq行E序Q程序代码和代码所产生的数据都会消耗内存。对于NOR型flash ROM的设备,代码可以从ROM里直接被CPU调用执行。这U执行方式叫?#8220;立即执行”?#8220;地执行” (XIP: execute in place)。对于NAND型flash ROM的设备,E序代码必须首先被调入内存,然后再从内存里被CPU逐条执行。如果没有缓存池Q代码会首先被全部调入普通的内存里。缓存池实际上就是vC限制执行代码时占用过多内存的作用Q也是_出了缓存池定w的其余代码不会被预先调入内存Q而只有需要时再行调入?/p>
WM5pȝ的NAND型ROM讑֤的缓存池大小一般是4.5 MB?/p>
2. 频协议栈(Radio StackQ?/strong>
在PPC手机中,有相当部分的代码是用于和发射基站间的通讯。在某些讑֤里,q一无线通讯模块有自qRAM和ROM。而在其它讑֤里,无线通讯模块的代码是被存储在pȝ的ROM里的。这P它或者是地执行Q或者是调入内存执行。如果是后者,那么q部分被占内存会直接从ȝ内存中划掉而不被计入系l设|里所昄的ȝ内存定w的?/p>
q一模块Q射频协议栈Q占用约 4 MB内存?/p>
3. 直接存取内存区(DMA BuffersQ?/strong>
一些硬件可以不lCPU的处理和控制而自行写内存Q这叫作直接性内存读?DMA: Direct Memory AccessQ。这块内存区在系l加载前已被事先分出Q而不受CPU支配Q。这U方式的优点在于能够极高效和通常更低能耗地q行数据的传送。在早期?PPC里,q主要用在音频采集上Q通常占用内存很小。现在,它被用于视频采集Q从而也占用了大得多的内存?/p>
机器的生产商会根据机器在应用斚w的定位来调整q部分内存的大小。譬如如果主要用途是预设为拍照,则会需要较的DMA内存Q而如果考虑用于摄像Q则需要占用大得多的内存,而如果是视频会议的话Q所需内存会更大?/p>
直接存取内存区的定w?00 KB ?6 MB 不等。对于把视频采集作ؓ主要应用方向之一的机器,可能会在4 MB左右?/p>
4. 核心区(XIP KernelQ?/strong>
操作pȝ最核心的部分需要就地执行(XIPQ的模式。对于NAND型ROM的设备,在系l加载时Q需要把q部分代码首先蝲入内存,q从q部分代码开始执行后面的d。由于系l正在运行时q无法分辨正被执行的q部分核心代码是从ROMq是RAM执行的,所以它会假设是从ROM里执行的从而把q部分内存排除在外?/p>
核心区占用约 1.5 ?2 MB 大小?/p>
5. 帧缓冲区Qthe Frame Buffer)
q部分内存专门用作存储当前屏q上昄的一切信息。大多数讑֤Q每个像素占用两个字节(16-bit 65535U色彩)。所以一?20x240的QVGA屏需?50 KBQ?40x480的VGA屏需?00 KB。有时ؓ了显C性能斚w的原因,机器 会设|两个~冲区,q样׃占用1.2 MB的内存容量?/p>
最后来做一下加法:Page Pool (+Radio Stack)+DMA Buffer+XIP Kernel+Frame Buffer
4.5 (+4) + 0.3 | 6 + 1.5 | 2 + 0.15 | 1.2 = 6.45 | 13.7 (10.45 | 17.7)
所以基于NAND型ROM 的PPC里所占用的未昄内存范围?.45-13.7 MBQPPC Phone会多占用U? MB。而基于NOR型flash ROM的机器可能会减少U?.5 MB (PPC) 的内存占用。其它方面,有摄像头其更强调动态视频摄录效果的讑֤占用定w会更大,VGA昄的机器也会高一些?/p>
举例Q手头的HP iPAQ 21x (PPCQ?40x480 VGAQ无摄像_WM6QNAND flash ROM): 128 MB(?-121.40(昄)Q?.6 MBQ与上面的估结果相当符合。对于现在市Z一般配|的PPC手机Q基本都是基于NAND型flash ROM的设备)Q这部分未显C内存大U会占用13-15 MB的空间?/p>
另外Q需要说明的个例是HTC Touch DiaMond。该ƾ机器号U有192 MB DDR SDRAMQ但实际上其中的64 MB是内|于CPU中的昑֭Q供3D囑Ş昄用,有说亦用于无U模块的Q,所以对整个pȝ而言Q可资利用的有效内存仍只?28 MBQ内存利用上在图形显C方面或怼节省一?--未知Q。因此与其它128 MB RAM的类似配|的讑֤相比Q钻x的用户ƈ没有发现在可用RAM上有什么优ѝHTC Touch HD的标URAM定w也存在同L数字游戏?/p>
最后强调的一ҎQ在对内存的利用和分配上Q机器生产商d能会针对不同型号机器的某些组件作一定调_也M在预载应用Y件与速度及用户可利用的内存资源上作出取舍。所以即使对于具有相同操作系l和同样标称内存但不同款型的机器Q机器启动后的用户可用内存也可能会相差很大?/p>
【关于Flash ROM的基本常识?/strong>
在性能上,RAM的读写速度非常快(诅R写速度基本相当Q,׃需要频J刷斎ͼ也非常耗电Q所以对掌上讑֤而言QRAMq完全是多多益善,q多闲置无用的RAM会耗掉大量不必要的电力Q;而ROM的读写速度相比RAM慢很多,其是写入速度更慢Q但耗电较少Q由于不需要高频刷新来l持记忆Q?br>
所以应用上QROM主要是用以存储程序和数据Q而RAM主要用以q行E序?br>
Flash ROM 按照实现的整个电路逻辑l构及相应存储单元擦写操作的不同分ؓNAND和NOR两种cd。NOR型提供完整的d与资料ȝQƈ允许随机存取内存上的M区域Q因而其特点是读取数据快Q但需要较长的旉q行擦写。NAND型没有随机存取外部寻址ȝQ必M区块性的方式q行d。与NOR型相比,它具有具有较快的擦写旉,但数据读取的速度较慢。NAND型ROM的每个储存单元的面积也更,q得NAND Flash相较于NOR Flashh较高的储存密度与较低的单位存储成本。同时它的可重复擦写ơ数也高出NOR Flash一个量U。所以现在所有的存储卡都是NAND型的flash ROM?br>
NOR型ROM更类gl的ROMQ支持CPUq行字节U别的读取。而NAND型ROM则类g盘Q适合作ؓ大量数据存储介质。所以对于NOR?ROMQCPU可以q行地执行QXIPQ而省M把代码先dRAM的步骤,载入和运行代码的速度更快Qƈ可减所需的RAMI间?br>
在实际系l中QXIP只能用于底层的(操作pȝQ代码。对于后l安装的被列入文件系l的E序Q是必须载入RAM才能够被CPU执行的?br>
对于NOR flash ROM和XIP的关pd补充一点的是,qNOR型flash ROM都会选择XIP方式。因为对于一块flash ROM芯片不能同时q行?写操作,所以如果代码和数据都装在一个ROM上,既要XIPQ又要同时进行数据写入的话,实现上相当麻烦(因ؓ写入时无法从 ROMd代码Q所以对中断的处理会很复杂)。所以解x法或者是不用XIPQ或者是XIP代码和数据区分离在两个ROM上,或者采用比较复杂的技术来实现QIPSMQ?br>
【关于设备里ROM的占用情c?br>应有的朋友的要求Q这里补充说明一下关于ROM的占用情c对于ROM占用Q由于没有黑q(除引D录和文g分配表外Q,所以情形相对简单一些?
与RAM的情冉|些类|在系l设|里QROMQ即存储内存QStorage)的d量与讑֤的标定ROM相比有一个几十兆的大~口。D例而言QHP iPAQ 210pdQWM6.0, 标定256 MB ROM, pȝ讄昄d储内存ؓ162.30 MB, 有近96 MB的差倹{但发现q解释这个差值则单明了得多。这部分pȝ讄没有昄的空间是从Y件意义上来说的真正的ROMQ只读)部分Q文件系l没有读写的权力Q是pȝ的操作系l和备䆾文g以及预装在ROM部分的程序(包括来自微YQ设备制造商以及Ud服务商,对于自制的系l还包括ROM包里的其它程序和数据Q,主要装在\windows目录下。用资源理器查看属性会发现有ROM属性,Ҏ件无法修改,也无法复ӞQ操作系l是止对ROM文g的操作的。所以操作系l在昄时把q部分干脆拿了出来,因ؓq是文gpȝ无法使用的部分。修改这部分文g的途径只有通过刷ROM来重写。硬启时讑֤也是通过q部分文件来恢复pȝ到初始状态?br>
启后会发现存储内存的已使用部分q不?Q这是根据ROM文g恢复的,文gpȝ内可以读写的部分操作pȝ的文件。现在我们做加法。把所有设备上的存储空_除存储卡外)加v来。以手头的iPAQZQ用Resco ExplorerQ把所有目录和文g全选(包括"iPAQ File Store“Q这实际是从pȝ的flash ROM分出的一个存储卡l构Q在启时不会被hQ,LSD Card和CF CardQ如果有的话Q以及RAM Disk QRAM模拟的)?11.15 MB。系l设|里的空闲存储空间ؓ134.83 MB。ȝROM定w是Q?11.15+134.83 = 245.98 MB?br>
q个数字接近256 MB了,但仍有约10 MB的差距?br>
q里可以惛_的有两种解释?br>
W一Q是由文件系l的l构Q尤其是大量文仉成的?br>
一般写入一?个字节甚?字节的文Ӟ虽然查看发现全部文g的d节数没有增加Q但实际上这个文件已l占用了一个区Q比?12个字节的I间Q所以系l的可用I间实际已经减少?12个字节。对于大文g来讲Q这个比例会很低Q但对小文gQ这个浪费的I间比例很高Q尤其是很多文件时Q浪费的ȝI间q当可观了。这个现象在盘上尤其突出,因ؓ它的每个最的文g单位-的I间相对更大Q所以比?个字节的文gQ会占用4KB或更?fat, fat32)的有效空间?br>
但WMpȝ的ROMQ只读)文g使用的不是一般的文g体系Q而是压羃的Ş式,x件大是多少Q就会实际占用多(关于q一点,见下一部分的说明)。这样就只能q二点来解释?br>
W二QROM的ȝ间的小于标定容量?br>
q里涉及到存储介质容量的单位问题。在计算机应用方面,1KB=1024字节Q而不?000, 1MB=2^20, 1GB=2^30。但是存储介质(盘Q存储卡{)的生产厂家在宣传产品Ӟh了单位,x定容量的1MB=1,000,000 字节Q而不?^20=1,048,576 字节Q?GB=1,000,000,000字节Q而不?^30=1,073,741,824字节Q从而变盔R低了成本。所以买回来的号U?0G的硬盘,计算Z昄的可用空间只?0多GB。存储卡也是如此。(?% (M为单??7%QG为单位)Q?br>
所以对于和存储卡在物理上一致的pȝ内置ROMQ出现同L数字游戏也ƈ不新奇?br>
另外是flash ROM的实际容量对于比如每个卡可能都不同,有一个L动范_flash ROM在生产时也会留有一定的冗余I间以备出现坏区时备用?br>
所以考虑W二点原因,245.98 X 1.024^2= 257.93 MBQ这与标定的256 MB的ROMd量是基本d的?br>
注:关于q部分的讨论可能有错漏,需参考更多资料核实?/p>
?关于WMpȝ“\Windows”目录下的两类文g ?br>搞清q一点,其一是ؓ上一部分关于ROMI间的分析作补充说明Q其二是Z阐明Z么通常无法对\Windowspȝ里的ROM属性的文gq行常规的文件操作,Z么对有些pȝ文gQ非ROM属性)却可以?br>
实际上WMpȝ对内|ROM的用,的确是分成了两部分区别对待的。其一是文ӞFilesQ部分,其二是模?Modules)部分?br>
文g部分与磁盘、存储卡{用来存放文件的存储I间的性质和文件结构是一cȝQ原则上用户h完全的读写权力。操作系l里所有图片及多媒体文仉被存攑֜q一部分。这也是Z么我们可以随意更换桌面图片-Q尽桌面图片文件也是属于操作系l自带的文g之一。一些程序也是以通常的(可执行)文g形式存放在这部分的,所以也会发现对某些“\Windows“的可执行文g我们也可以随意处|。(博主Q假如我删除了这cLӞ在硬重置的时候它们会被恢复么Q如果会Q那如何解释Q?/span>Q?br>
对于W二部分的文Ӟ则用常规的方法来q行操作一般都是无能ؓ力的。查看属性就会发现这cL仉标有一?#8220;ROM”属性,而且无法更改。实际上Q这部分E序文g在被刷入flash ROM前,是经q了特别处理的。大多数文g的文件头已被截去Q文件代码和数据在ROM里的存放地址也是完全固定的。所以从存放的Ş式来_q些E序是可以直接被q行而不必先被调入RAM的。即便不需要XIPQ这U存储Ş式也提高了代码蝲入、执行的效率。另外,q些文g本n变小了,而且不同文g能够以更紧凑的Ş式存攑֜q个部分Q从而节省了ROMI间?br>
存放的Ş式也军_了即使可以把ROM属性的E序文g拯出来Q有工具可以做到Q,也无法立即用它们-Q必d利用工具重新生成一个正常文Ӟ加上文g_Q同时还要考虑到有些程序可能针对特定的讑֤q行q代码的优化与压~-Q这军_了这不是一件直截了当,总能成功的活ѝ?所以通常制作的新ROML非常依赖于特定机型的?/p>
屏幕分L?/td> | DPI |
240x320 | 96 |
480x640 | 192 |
240x240 | 96 |
480x480 | 192 |
480x800 | 192 |
320x320 | 128 |