wp下使用Timer 还是DispatcherTimer?

DispatcherTimer属于UI线程,Timer非UI线程,运行在后台。

 DispatcherTimer里面执行等待动作或者时间过长,可能会导致UI假死。

但是 Timer的 TimerCallback 委托指定希望 Timer 执行的方法。 计时器委托在构造计时器时指定,并且不能更改。

所以用什么要随情况而定。

下面是实现代码:

public partial class MainPage : PhoneApplicationPage
     {
         DispatcherTimer Dtimer;
         Timer timer;
     
         // 构造函数
         public MainPage()
         {
             InitializeComponent();
     
             Dtimer = new DispatcherTimer();
             Dtimer.Interval = TimeSpan.FromSeconds(1);
             Dtimer.Tick+=new EventHandler(timer_Tick);
             Dtimer.Start();
     
     
             timer= new Timer(CallBalk,text,1000,1000);
         }
     
    
         void timer_Tick(object sender,EventArgs e)
         {
             Debug.WriteLine(DateTime.Now.ToShortTimeString());
             Debug.WriteLine("DispatcherTimer");
         }
         void CallBalk(object  state)
         {
             //Dispatcher.BeginInvoke();
             Debug.WriteLine("Timer");
         }
     }


Guess you like

Origin blog.csdn.net/lwcbest/article/details/38088905