Condividi tramite


Demo del ciclo di vita dell'applicazione per Xamarin.iOS

Questo articolo e il codice di esempio illustra i quattro stati dell'applicazione in iOS e il ruolo dei AppDelegate metodi per notificare all'applicazione quando vengono modificati gli stati. L'applicazione stamperà gli aggiornamenti alla console ogni volta che l'app cambia stato:

App di esempio

L'app stamperà gli aggiornamenti alla console ogni volta che l'app cambia stato

scenario

  1. Aprire il progetto Ciclo di vita nella soluzione LifecycleDemo .

  2. Aprire la AppDelegate classe . La registrazione è stata aggiunta ai metodi del ciclo di vita per indicare quando l'applicazione ha cambiato stato:

    public override void OnActivated(UIApplication application)
    {
        Console.WriteLine("OnActivated called, App is active.");
    }
    public override void WillEnterForeground(UIApplication application)
    {
        Console.WriteLine("App will enter foreground");
    }
    public override void OnResignActivation(UIApplication application)
    {
        Console.WriteLine("OnResignActivation called, App moving to inactive state.");
    }
    public override void DidEnterBackground(UIApplication application)
    {
        Console.WriteLine("App entering background state.");
    }
    // not guaranteed that this will run
    public override void WillTerminate(UIApplication application)
    {
        Console.WriteLine("App is terminating.");
    }
    
  3. Avviare l'applicazione nel simulatore o nel dispositivo. OnActivated verrà chiamato all'avvio dell'app. L'applicazione è ora nello stato Attivo .

  4. Premere il pulsante Home nel simulatore o nel dispositivo per portare l'applicazione in background. OnResignActivation e DidEnterBackground verrà chiamato come l'app passa da Active e verso Inactive lo Backgrounded stato. Poiché non è impostato alcun codice dell'applicazione da eseguire in background, l'applicazione viene considerata sospesa in memoria.

  5. Tornare all'app per riportarla in primo piano. WillEnterForeground e OnActivated verranno entrambi chiamati:

    Modifiche dello stato stampate nella console

    La riga di codice seguente nel controller di visualizzazione viene eseguita quando l'applicazione è entrata in primo piano dallo sfondo e modifica il testo visualizzato sullo schermo:

    UIApplication.Notifications.ObserveWillEnterForeground ((sender, args) => {
        label.Text = "Welcome back!";
    });
    
  6. Premere il pulsante Home per inserire l'applicazione in background. Toccare quindi doppio il pulsante Home per visualizzare l'interruttore dell'applicazione. Nell'i Telefono X scorrere verso l'alto dalla parte inferiore dello schermo:

    Switcher dell'applicazione

  7. Individuare l'applicazione nel commutatore app e scorrere verso l'alto per rimuoverla (in iOS 11, premere a lungo fino a quando le icone rosse non vengono visualizzate nell'angolo):

    Scorrere rapidamente verso l'alto per rimuovere un'app in esecuzione

iOS terminerà l'applicazione. Si noti che WillTerminate non viene chiamato perché l'applicazione è già sospesa in background.