后退按钮不处理应用程序/主动活动

后退按钮不处理应用程序/主动活动

问题描述:

当我单击我的Android手机上的后退按钮时,我的Application类和我的MainActivity都不会处理。后退按钮不处理应用程序/主动活动

我的问题:

我无法弄清楚,如果我的应用程序是完全关闭或只是暂停。在这两种情况下,

protected override void OnSleep() {} 

被调用。

但只要我拿回来前按后退按钮之后,MainActivity &形式Application再次重新实例和整个应用程序出现重新启动。而通过点击BUTTOM中间的按钮将其最小化,然后再次进入前端犯规重新启动应用程序,一切都仍在运行和开放...

我的问题:

的问题是现在,这我在内存中有一个应用程序和活动,我不再使用它。据我所知,它永远不会被处置。

此外,我不希望应用程序重新启动时,我单击后退按钮,我该如何解决该问题?我希望它的行为与我在中间使用最小化按钮完全相同。那可能吗?

从我可以告诉,这是设计。当您在根(主)页面上,然后按主页按钮时,应用程序会转到后台,但主页面仍在实例化并存储在内存中。相反,当您点击后退按钮时,应用程序会从导航堆栈中移除主页面,从而破坏它。因此,应用程序将需要重新初始化您的MainPage(NavigationPage),以便操作。

+0

但是为什么我的Application类和MainActivity都初始化了,而两个旧类仍然保留在内存中?我有一个EventAggregator订阅了Application-class上的方法,每当我再次按下并最大化应用程序时,它将被调用两次(或更多次)。我期望它至少处理两个旧类并调用析构函数,所以我可以从我的EventAggregator中取消订阅它。 – Jannik