Bright Lee Bright Lee - 5 months ago 31
C# Question

What's difference Task.Run() , Calling async void AAA() on Xamarin forms?

As far as I know, there are three ways to call async method. (I'm sure there are much more)

  • 1>
    Task.Run(async () = {...}).

  • 2> Just calling

and AAA should be looks like

async void AAA()

  • 3>
    Device.InvokeMainThread(async () => {...});

I know If I use option 1(
) process will go on background thread and option 3 is not.

What about option 2? It's on main thread if I called from

First of all, Is there not any problem to use like that?

And option2 and 3 are same?

  1. Executes AAA on a thread pool thread.
  2. Executes AAA on the calling thread.
  3. Executes AAA on the main thread.

As an aside, you should avoid async void methods.