Device.StartTimer相当于xamarin原生PCL

问题描述:

我想在某个延迟后调用一个方法。Device.StartTimer相当于xamarin原生PCL

在Xamarin.Form Device.StartTimer可用。

Device.StartTimer(2000,() =>{}); 

同样,我们可以在本地xamarin

System.Threading.Timer timerO = new System.Threading.Timer(this.methodtobeinvoked,”timerO", 2000, System.Threading.Timeout.Infinite); 

容易做但是,当涉及到PCL在Xamarin原生不能同时使用。 好像

System.Threading.Tasks.Task.Delay(2000)是PCL可用最简单的选择,但是这一个块主线程,我可以创建一个线程,并呼吁他的延迟,从主线程把这个放下,但我不想落入陷阱使用多线程......是否有任何简单的解决方案可以让我们在时间过后调用方法。

执行ticktock每一秒......

 Device.StartTimer(TimeSpan.FromMilliseconds(1000), loop1); // every 1 second 
     bool loop1() 
     { 
      ticktock(); // execute every second 
      return true; 
     } 

离开了return语句,你会一次执行ticktock,一秒的延迟之后。