iOS 上的主线程控件更新
此项 iOS 平台特定功能支持在主线程而不是后台线程上执行控件布局和渲染更新。 它应该很少用到,但在某些情况下可以防止崩溃。 在 XAML 中使用它的方法是将 Application.HandleControlUpdatesOnMainThread
可绑定属性设置为 true
:
<Application ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
ios:Application.HandleControlUpdatesOnMainThread="true">
...
</Application>
或者,可以使用 Fluent API 从 C# 使用它:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
Xamarin.Forms.Application.Current.On<iOS>().SetHandleControlUpdatesOnMainThread(true);
该 Application.On<iOS>
方法指定此平台特定仅在 iOS 上运行。 命名空间 Xamarin.Forms.PlatformConfiguration.iOSSpecific
中的 Application.SetHandleControlUpdatesOnMainThread
方法用于控制否在主线程而不是在后台线程上执行控件布局和渲染更新。 此外,Application.GetHandleControlUpdatesOnMainThread
方法还可用于返回是否在主线程上执行控件布局和渲染更新。