Aracılığıyla paylaş


Xamarin.iOS için uygulama yaşam döngüsü tanıtımı

Bu makale ve örnek kod, iOS'taki dört uygulama durumu ile durumların AppDelegate ne zaman değiştirildiğini uygulamaya bildirmedeki yöntemlerin rolünü gösterir. Uygulama her değiştiğinde konsolda güncelleştirmeleri yazdırır:

Örnek uygulama

Uygulama, durum değiştirdiğinde konsolda güncelleştirmeleri yazdırır

İzlenecek yol

  1. LifecycleDemo çözümünde Yaşam Döngüsü projesini açın.

  2. Sınıfı açın AppDelegate . Uygulamanın durumunun ne zaman değiştiğini belirtmek için yaşam döngüsü yöntemlerine günlük kaydı eklendi:

    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. Uygulamayı simülatörde veya cihazda başlatın. OnActivated uygulama başlatıldığında çağrılır. Uygulama artık Etkin durumda.

  4. Uygulamayı arka plana getirmek için simülatördeki veya cihazdaki Giriş düğmesine basın. OnResignActivation ve DidEnterBackground uygulama durumundan Active Inactive duruma geçerken çağrılır Backgrounded . Arka planda yürütülecek bir uygulama kodu ayarlı olmadığından, uygulama bellekte askıya alınmış olarak kabul edilir.

  5. Uygulamayı ön plana geri getirmek için uygulamaya geri dönün. WillEnterForeground ve OnActivated her ikisi de çağrılır:

    Konsola yazdırılan durum değişiklikleri

    Görünüm denetleyicisinde aşağıdaki kod satırı, uygulama arka plandan ön plana girdiğinde ve ekranda görüntülenen metni değiştirdiğinde yürütülür:

    UIApplication.Notifications.ObserveWillEnterForeground ((sender, args) => {
        label.Text = "Welcome back!";
    });
    
  6. Uygulamayı arka plana yerleştirmek için Giriş düğmesine basın. Ardından Giriş düğmesine iki kez dokunarak uygulama değiştiriciyi açın. i Telefon X ekranında ekranın alt kısmından yukarı doğru çekin:

    Uygulama değiştirici

  7. Uygulamayı Uygulama Değiştirici'de bulun ve kaldırmak için yukarı doğru çekin (iOS 11'de, kırmızı simgeler köşede görünene kadar uzun basın):

    Çalışan bir uygulamayı kaldırmak için yukarı doğru çekin

iOS, uygulamayı sonlandıracaktır. WillTerminate Uygulamanın arka planda zaten askıya alınmış olması nedeniyle çağrılmadığını unutmayın.