为什么Xamarin Forms对所有页面使用一个Activity

Don*_*Box 7 xamarin.android xamarin.forms

Xamarin Forms使用一个Activity来渲染所有页面.基本上,Page是Android子视图或片段.为什么不将每个页面都作为活动?这与Xamarin表单在iOS中的表现形成鲜明对比.在iOS上,Page是一个UIViewController.

我不是问Xamarin Forms在Android中是如何工作的(它使用片段).

Xamarin为什么选择这样做?我相信有一些建筑选择?

Nic*_*ers 0

如果我弄错了,请有人纠正我,我认为 Xamarin.Forms 是在 Android 上向后移植片段之前启动的,但其编写方式类似于片段使用视图的工作方式。

但是,我认为如果您使用AppCompatand aFormsAppCompatActivity作为您的 MainActivity,情况就会发生变化,它现在确实使用本机 AndroidFragment来保存表单页面。

我对为什么这样做的最佳猜测是为了更好的内存管理,并确保不再使用的任何视图或对象都得到正确处理。另外,至于为什么Activity不使用 a ,Page可能是因为它使创建导航变得更容易,可以在 Xamarin.Forms 本身而不是本地完成这一切。例如,当使用TabbedPage表单页面(即视图)到片段中以供本机 Android 使用时,可能ActionBar比尝试使用表单页面(如果每个页面都是单独的活动)更容易。