Ich bekomme eine IllegalStateException mit "Aktivität wurde zerstört", wenn ich meine App schließe.Xamarin IllegalStateException Aktivität wurde beim Schließen der App zerstört
In meinem App.cs mir einen öffentlichen statischen Master erklären:
protected override void OnStart()
{
// Handle when your app starts
if (Device.OS == TargetPlatform.Android)
{
Device.BeginInvokeOnMainThread(() =>
{
masterdetail = new MasterPage();
MainPage = masterdetail;
});
}
else
{
masterdetail = new MasterPage();
MainPage = masterdetail;
}
}
Und in den MasterPage.cs erkläre ich den Meister und die DetilPage:
public partial class MasterPage : MasterDetailPage
{
public MasterPage()
{
var IsLoggedIn = false;
if (CrossSecureStorage.Current.HasKey("isLoggedIn"))
{
IsLoggedIn = string.Equals(CrossSecureStorage.Current.GetValue("isLoggedIn"), "true", System.StringComparison.CurrentCultureIgnoreCase);
}
Master = SetMasterContentPage();
if (IsLoggedIn)
{
Detail = new NavigationPage(new TaxonomyOverviewPage());
}
else {
Detail = new NavigationPage(new LoginPage());
}
}
ContentPage SetMasterContentPage()
{
var masterPage = new ContentPage { Title = "Test"};
masterPage.Content = new StackLayout
{
Children = {
new Label{Text="Label1"},
new Label{Text="Label2"},
new Label{Text="Label3"}
}
};
return masterPage;
}
protected override void OnDisappearing()
{
base.OnDisappearing();
GC.Collect();
}
}
Die Zeile 'GC.Collect();' verursacht das wahrscheinlich? –
@GeraldVersluis Nein, leider nicht. Das war ein Versuch, das Problem zu beheben, aber ohne Erfolg. Ich habe auch versucht, GC 'Collect();' -Zeilen auskommentieren, aber die Ausnahme ist immer noch da. – Zero
Ist es, wenn Sie Ihre App schließen oder wieder öffnen? Siehe [this thread] (https://forums.xamarin.com/discussion/72954/java-lang-illegalstateexception-activity-has-bede-destroyed-on-pageadapter) in den Xamarin-Foren mit einem ähnlichen Problem –