繁体   English   中英

在Xamarin.Forms Android应用程序中,先按设备的“后退”按钮,然后按应用程序图标,然后再次调用MainActivity.OnCreate?

[英]In Xamarin.Forms Android app the MainActivity.OnCreate is called again after pressing the device Back button then app icon?

在Xamarin.Forms Android应用程序中,按下设备的“后退”按钮退出应用程序,然后在应用程序运行列表中按应用程序图标或快照再次启动,将再次调用MainActivity.OnCreate。 因此,尽管该应用似乎仍保留在应用运行列表中,但所有状态都将丢失。 如果我按设备中间的按钮退出,然后再按应用程序图标再次启动,我会看到应用程序保留所有状态,因为未调用MainActivity.OnCreate,其中包含一些初始化代码。

问题1:为什么通过“后退”按钮和“中间”按钮退出应用程序会有区别? 虽然两种方法都使应用程序仍在运行。

问题2:使两种方式提供相同的应用程序行为是否值得/合法/常规?在再次激活时保持所有状态?

问题3:是,如何正确执行?

请参考: https : //docs.microsoft.com/en-us/xamarin/android/app-fundamentals/activity-lifecycle/

并且: https : //docs.microsoft.com/zh-cn/xamarin/xamarin-forms/app-fundamentals/app-lifecycle

问题1:为什么通过“后退”按钮和“中间”按钮退出应用程序会有区别? 虽然两种方法都使应用程序仍在运行。

在XF中,后退按钮可以在android上用于多种用途,例如从导航堆栈中弹出页面或退出并杀死该应用程序。 尽管该应用程序在按返回后仍显示为背景,但实际上已终止。 中间按钮将应用程序置于后台。

问题2:使两种方式提供相同的应用程序行为是否值得/合法/常规?在再次激活时保持所有状态?

这个问题是主观的,这取决于您要执行的操作。 但一般而言,不会。 遵守Android操作系统最佳做法很重要,因为用户希望设备上的按钮的行为与操作系统中的行为类似。

https://developer.android.com/distribute/best-practices/develop/

问题3:是,如何正确执行?

请参阅上面的链接。 这也是一个很好的资源: https : //docs.microsoft.com/en-us/xamarin/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM