Xamarin.Forms 中的 Device.StartTimer 与 System.Threading.Timer

Leo*_*rev 3 .net c# timer xamarin xamarin.forms

使用Device.StartTimervs的优点或缺点是System.Threading.Timer什么?

两者都在后台线程上触发,两者都是跨平台和 netstandard2 兼容的。System.Threading.Timer具有非 Xamarin 特定的奖励积分。

我应该使用什么以及何时使用?

  • Device.StartTimer 使用本机 API。
  • 根据github.com/monoSystem.Threading.Timer似乎所有计时器都使用专用线程。我是对的,还是 Xamarin 使用其他实现?

Leo*_*rev 7

Xamarin 文档团队的官方回答:https : //github.com/MicrosoftDocs/xamarin-docs/issues/2243#issuecomment-543608668

使用。

Device.StartTimer 早在 .NET Standard 出现之前就已实现,当时 Timer 类对 PCL 项目不可用。现在 Timer 类可用,没有优势/需要使用 Device.StartTimer。但是那个 API 不会消失,因为会有旧的项目仍然依赖它。