智能终端定制开发 ad
MTK/瑞芯微/高通-Android,智能模块/智能终端方案商

深度定制各类智能终端和智能硬件产品,提供硬件选型咨询、参考设计、元器件推荐、驱动开发、行业模块集成、操作系统定制与算法集成等软硬件定制服务。
contact.aspx

Android核心板产品覆盖2G、3G、4G通讯,双核、四核、八核CPU,可选的平台有MTK6580、MTK6737、MTK6750等,Android版本有5.1 6.0 7.0等。
contact.aspx

可广泛应用于低端智能POS、安防监控、车载设备、低端智能机器人、智能家居、智能硬件、工业智能手持设备、低端智能对讲设备、低端警务或执法设备、智能穿戴、贩卖机、物流柜、智能门禁系统等行业和设备。
contact.aspx

可提供以太网转串口透传,WIFI转串口透传,蓝牙转串口透传,CAN总线模拟量控制输出模块等。
contact.aspx

带3G或4G通讯功能,运行android系统,有多个串口,可以外挂各种模块:条码扫描、RFID、指纹识别、身份证识别、磁条卡、ID卡、GPS/北斗模块等。
contact.aspx

具有4G通讯功能,多个RS232或RS485接口,以太网接口,USB接口,CAN接口,多个AD输入。基于Android系统智能平台,方便APP应用开发。器件严格选型,运行稳定,质量可靠。
contact.aspx

WM性能优化的一些经验
[手机开发] 2009-03-02

昨天听黎波讲了关于SQL Server Compact 性能调校课程中,主要分析了SQL Server Compact如何优化。

主要分为,在数据访问层上与表、sql语言上的一些优化。这里就不再罗嗦一遍了。

SQL Server Compact优化,只是WM开发中需要优化的一部分。如何选择好不同的技术,在实际项目中来根据具体情况再分步优化,不断的改善程序的性能,才是我们所必须要关注的。

目前WM应用领域已相当广泛了,从最初的物流系统到现在的吃饭点菜,从工业领域到目前的个人家用都涉及到了。正所谓不同的领域有所需的不同要求。

我们就从WM客户端开始,一一讲述吧。

客户端上,由于使用C/S程序,从性能上来讲多数取决于设备及.net cf的版本。
另外P/Invoke的调用也相当耗费性能。我们需注意的地方就是在P/Invoke 的内部有一个LoadLibrary/FreeLibrary 对。
在调用API之前,先Load该DLL,然后再调用其API。完全用完后Free它,可以加速性能。
作为企业或公司级的应用来说,已基本没有任何问题。(毕竟界面较简单,基本都是添/删/改/查)
但是作为个人应用,比如像一些短信拦截,电话屏蔽之类的。 .net cf往往力不从心,需要调用大量的API。
另外3D类也特别不好,就象摆设一样,还是以2D图片来代替更好些。
界面上的控件建议不要太多。可以将图片之类的放入到资源文件中,这样比直接在外部访问更快些。
用using,来创建-释放对象。

在WM设备上使用SQL Server Compact,注意,该版本数据库,就是文件型数据库。用ado.net访问时,要注意一些优化。
1.用DataReader代替DataAdapter。
2.SqlCeResultSet可以非常方便的来回访问。
3.用TableDirect方式比直接用Select更快些,但只能访问单表。
4.表最好做一下索引,便于提高sql速度。
5.个人觉得能用List<T>就用,不建议用DataSet之类,消耗性能。

SQL Server Compact同步问题。微软曾推出ADO.net Sync Service for device。虽然功能很强大。但一旦数据量大的情况,同步时间较慢,且需要相对稳定的网络环境,不适宜。
根据适当情况,如果类似于定单,则可以下完定单后,立刻调用Web Service通知服务器。
对于商品库存表之类不采用Sync同步,在于,一旦客户端较多时,每个客户端的该表都与主表不一致时,就有冲突。1对1的同步没有任何问题。多对1的同步就无法很好的解决。

Socket连接,设置好Socket的超时时间,不要设置太长,太长还是会失败。

个人建议可以采用如下方法:来针对实时要求不高的情况
在本地数据保存到SQL Server Compact中, 隔一个时间间隔后, 再调用Web Service批量进行更新.

在通信时,无论打开Wifi还是GPRS,记得打开后,如果不用了,要关闭。每隔一段时间,进行一次GC的回收。虽然你的程序很稳定,但如果占用很多内存导致其它程序运行不倡,反过来也会影响你的程序。由于内存非常宝贵,因此避免制作数据副本很重要。而最为重要的是,代码只应在需要数据时才创建它,并且在完成工作时丢弃它。

总结:
.NET Compact Framework 对于内存管理、事件处理、面向对象的编程、用户输入、国际化和文件 I/O 很擅长,而面临最大挑战的领域是图形、窗口管理和资源管理。

以上是我对于WM的一些经验总结。希望和大家分享~

Author:AppleSeeker(冯峰)
Date:2009-02-20

[手机开发添加评论 | 评论/阅读(0/509)
评论
昵称
主页
内容
递交


Copyright @ 我的开发笔记     2008 - 2017         粤ICP备19155526号-1