C# 开发WM程序性能优化的几个可能的方面
来源:互联网 发布:怎样制作淘宝宝贝图片 编辑:程序博客网 时间:2024/06/16 08:01
最近又写在Window Mobile 6.1上面写了个程序,包含了从蓝牙设备读取数据、处理数据、显示数据和在SD卡上存储数据的功能,四者同时且实时进行,如何保证所有工作都能完成且不会有太大延迟,使其在配置稍低的手机,例如主频较小的HTC S1上也能运行,着实费了一番功夫。总结了一下,我目前采取的方法,除了在程序本身和算法上优化外,还有以下方面:
1、绘图
在我的程序中需要实时的显示数据。在屏幕中显示是一个很繁重的工作。不同于PC,稍低端的手机往往没有很大的内存和很高的CPU主频,因此,再实现双缓冲绘图时,用到的内存位图、画笔、画刷等资源应该是在绘图消息响应函数外就初始化好,在绘图函数中重复使用,否则若每次在绘图中都重新初始化一副位图,会耗费很长时间,严重影响存储的性能。
另外,两次绘图之间的间隔不宜太小,间隔太小,连续的重绘会导致屏幕响应不畅,很容易造成假死机的情况
2、文件写操作
相比绘图,文件写操作对性能的影响稍小,但也是一个可能影响性能的因素,尤其是向速度较慢的SD卡上写数据的时候。在这里,可以考虑构造一段缓存,缓存接收到的数据,满足一定条件的时候再写,而不是每次收到数据就写并Flush。在这里,写的块大小最好是2的倍数。
3、多线程
这个不用多说了,线程系统调度的基本单位,尽管CPU是串行的,但由于多线程的程序可分得更多的时间片,因此理论上会优于单线程,但要非常注意同步问题以及销毁时容易出现的ThreadAbortException
以上是我在开发实时程序优化性能时考虑的几个方面,当然也会从算法和代码层面上优化。说的有不对的地方,望指正。
- C# 开发WM程序性能优化的几个可能的方面
- Asp.Net 程序性能优化的几个方面(转载)
- asp.net性能优化的几个方面
- asp.net性能优化的几个方面
- asp.net性能优化的几个方面
- asp.net性能优化的几个方面
- mysql 性能优化的几个方面
- 【SQL Server 优化性能的几个方面】
- asp.net性能优化的几个方面
- SQL Server 优化性能的几个方面
- Asp.net性能优化的几个方面
- asp.net性能优化的几个方面
- 系统性能优化的几个方面
- 总结Android 性能优化的几个方面
- Android性能优化的几个方面
- C# 性能优化方面的总结
- C# 性能优化方面的总结
- C# 性能优化方面的总结
- 内核比较:2.4 和 2.6 上的 Web 服务
- 16个简单实用的.htaccess技巧
- evc 4.0 建立Debug环境,设置断点
- Python分隔字符串
- DIRECTORY_SEPARATOR; PATH_SEPARATOR PHP
- C# 开发WM程序性能优化的几个可能的方面
- Python批量赋Spatial Reference
- parpare拦截器parpare()方法来设置model对象
- 采用PHP实现”服务器推”技术的聊天室
- Python批量裁切影像
- xiazai
- 求积分啊求积分
- a
- 内核比较: 2.6 内核中改进了内存管理