带有 xamarin 表单的 xamarin 本机视图加载缓慢
Posted
技术标签:
【中文标题】带有 xamarin 表单的 xamarin 本机视图加载缓慢【英文标题】:xamarin native with xamarin forms views loads slow 【发布时间】:2022-01-20 09:51:08 【问题描述】:我已经使用 Xamarin Native for ios 和 android 开发一个应用程序很长时间了。最近我开始在表单中制作新视图并在本机应用程序中使用它们。这对开发过程来说是一个巨大的改进,也是最终向表单迈进的一步。我确实有一些问题,特别是在 android 上,第一次打开表单视图需要很长时间,第二次就像打开普通的原生视图一样。这真的很烦人,并没有提供良好的用户体验。
我已经尝试过这个指南https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/native-forms
我希望你们中的一些人可以帮助或告诉我这是一个坏主意。
【问题讨论】:
【参考方案1】:首先,Xamarin 表单应用程序加载比 Xamarin.Android 应用程序加载慢。因为 Xamarin.Forms 不仅提供了跨目标共享 UI 的能力,还提供了常见的应用程序功能,例如用于深度链接的 AppLinks、Navigation、MessagingCenter 和 DependencyService,以及跨平台 UI 警报、操作表、工具栏所需的几个部分、状态栏等。
将Forms视图加载到原生项目时,流程如下:
-
将 Xamarin.Forms NuGet 包添加到本机项目。
将 ContentPage 派生页面和任何依赖项添加到本机
项目。
调用 Forms.Init 方法。
构造 ContentPage 派生页面的实例并将其转换为适当的本机
使用以下扩展方法之一键入:
适用于 iOS 的 CreateViewController、适用于 Android 的 CreateSupportFragment 或
用于 UWP 的 CreateFrameworkElement。
导航到本机类型
使用本机的 ContentPage 派生页面的表示
导航 API。
它需要做的不仅仅是导航视图。您可以尝试加载本地内容并减少程序集的数量等。下面是博客中的几个小技巧,大家可以参考一下。 https://devblogs.microsoft.com/xamarin/5-ways-boost-xamarin-forms-app-sta
【讨论】:
感谢您的回复。我知道它不能像“普通”视图一样快,但我不明白 iOS 加载表单视图的速度比 android 快。 Xamarin.Android 只是 Android 原生库的一层封装,没有额外的操作。对于 ios,它们使用两个不同的系统。您可以向github.com/xamarin/Xamarin.Forms/issues 寻求帮助。以上是关于带有 xamarin 表单的 xamarin 本机视图加载缓慢的主要内容,如果未能解决你的问题,请参考以下文章