wp开发中程序执行时间问题
今天突发奇想想要在Windows Phone上做一款“秒表”应用程序。因为觉得逻辑还算简单自己也对wp开发相当熟练了,所以决定不做项目计划就动手Coding。
首先我选择使用Silverlight中计时器DispatcherTimer,在程序中添加代码如下:
//创建计时器
System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer();
//创建时间间隔
myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 1); //这里使用TimeSpan类型是常用的时间间隔类,有关内容可以查阅MSDN
//创建委托
myDispatcherTimer.Tick += myDispatcherTimer_Tick;
void myDispatcherTimer_Tick(object sender, EventArgs e)
{
//实现一些UI操作
//略……
}
看上去计时器每1毫秒执行一次委托事件更改UI,逻辑上没有问题。大家是不是也跟我一样觉得好简单啊!!!
Coding完成之后,F5调试时我拿出自己的Android手机打开里面的闹钟应用程序进行比较。令我困惑的事情发生了,我发现自己Coding的程序计时不准。我首先怀疑自己的代码是否有Bug,但是经过检查我没有发现代码中存在问题。反复思考之后我发现自己更新UI时使用繁杂的判断语句,导致程序运行时将大量时间用来完成逻辑运算,以致计时器每次执行时间大于1毫秒。
这里我想提醒wp开发者,移动应用开发时不仅仅需要注意语法的实现,还要注意程序执行时间对结果的影响。