Condividi tramite


Aggiornamenti del controllo thread principale in iOS

Questa piattaforma iOS consente di eseguire gli aggiornamenti del layout del controllo e del rendering nel thread principale, anziché essere eseguiti su un thread in background. Dovrebbe essere raramente necessario, ma in alcuni casi può impedire arresti anomali. Utilizzato in XAML impostando la Application.HandleControlUpdatesOnMainThread proprietà associabile su true:

<Application ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             ios:Application.HandleControlUpdatesOnMainThread="true">
    ...
</Application>

In alternativa, può essere usato da C# usando l'API Fluent:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

Xamarin.Forms.Application.Current.On<iOS>().SetHandleControlUpdatesOnMainThread(true);

Il Application.On<iOS> metodo specifica che questa piattaforma verrà eseguita solo in iOS. Il Application.SetHandleControlUpdatesOnMainThread metodo, nello spazio dei Xamarin.Forms.PlatformConfiguration.iOSSpecific nomi , viene usato per controllare se il layout del controllo e gli aggiornamenti del rendering vengono eseguiti nel thread principale, anziché essere eseguiti su un thread in background. Inoltre, il Application.GetHandleControlUpdatesOnMainThread metodo può essere usato per restituire se il layout del controllo e gli aggiornamenti del rendering vengono eseguiti nel thread principale.