Uygulamayı Beklemeye Alma Grupları

Android 9 (API düzeyi 28) ve sonraki sürümler Uygulama Bekleme Paketlerini destekler. Uygulamayı Beklemeye Alma Paketler, sistemin uygulamaları öncelik sırasına koymasına yardımcı olur nasıl çalıştığına ve son zamanlarda ve uygulamaların ne sıklıkta kullanıldığını gösterir. Uygulama kullanım alışkanlıklarına göre, Uygulama, beş öncelikli paketten birine yerleştirilir. Sistem cihazı sınırlandırır uygulamanın bulunduğu pakete bağlı olarak her uygulama için kullanılabilir kaynaklar.

Öncelik paketleri

Sistem, her uygulamayı dinamik olarak bir öncelik paketine atar ve ve gerektiği şekilde devre dışı bırakabilirsiniz. Sistem, makine öğrenimi kullanan önceden yüklenmiş bir uygulamadan her uygulamanın kullanılma olasılığını belirlemeyi öğrenir ve emin olmanız gerekir.

Cihazda sistem uygulaması yoksa sistem varsayılan olarak sıralamayı kullanır. göre otomatik olarak değişir. Daha etkin uygulamalar atanır Bu pakete daha yüksek öncelik veren paketlere öncelik verilir. Böylece, daha fazla sistem kaynağı sağlanır. elde edebiliyorlar. Özellikle, paket, bir öğenin ne sıklıkta bir uygulamanın işlerinin çalışma sıklığı ve uygulamanın alarmları ne sıklıkta tetikleyebileceği. Bu kısıtlamalar yalnızca cihaz pil gücüyle çalışırken uygulanır. Cihaz şarj olurken sistem bu kısıtlamaları uygulamaz.

Öncelik grupları şunlardır:

  • Etkin: Uygulama şu anda veya kısa süre önce kullanılmıştır.
  • Çalışma grubu: Uygulama normal olarak kullanılıyordur.
  • Sık: Uygulama genellikle kullanılır ancak her gün kullanılmaz.
  • Nadir: Uygulama, sık kullanılmaz.
  • Kısıtlanmış: Uygulama çok fazla sistem kaynağı tüketiyor veya çok fazla sistem kaynağı gösteriyor olabilir istenmeyen davranışlardır.

Bu öncelik paketlerine ek olarak aşağıdakiler için özel bir hiçbir zaman grubu vardır yüklü olan ancak hiç çalıştırılmamış uygulamalar olabilir. Bu sistem, belirli süreçlerde bu uygulamaları.

Aşağıdaki açıklamalar, tahmine dayalı olmayan destek kaydı içindir. Buna karşın Tahmin, davranışı tahmin etmek için makine öğrenimini kullanır. Paketler son kullanım yerine kullanıcının sonraki eylemlerine dair tahmin. Örneğin, Örneğin, yakın zamanda kullanılan bir uygulama, makinenin öğrenmesi, uygulamanın birkaç saat süreyle kullanılmayabileceğini tahmin eder.

Etkin

Bir uygulama kullanılırken etkin paketteyse, çok kısa süre önce kullanılıyorsa veya aşağıdakilerden birini yaptığında:

  • Bir etkinlik başlatır.
  • Uzun süre çalışan bir ön plan hizmetini çalıştırır.
  • Kullanıcı bir bildirimden dokunduğunda.

Etkin pakette bir uygulama varsa sistem, ve alarmları kontrol eder.

Kullanıcı etkileşimi uygulamaları etkin olarak atar

Android 9 (API düzeyi 28) ve sonraki sürümlerde kullanıcı, sistem, uygulamanızı geçici olarak etkin pakete yerleştirir. Kullanıcı uygulamanızla etkileşimi durdurduktan sonra, sistem, uygulamanızı pakete dahil edilir.

Aşağıda, bu sistem davranışını tetikleyen etkileşim örnekleri verilmiştir:

Çalışma seti

Bir uygulama sık sık çalışıyorsa ancak etkin değilse çalışma grubu paketindedir. Örneğin, kullanıcının neredeyse her gün kullanıma sunduğu bir sosyal medya uygulamasının çalışma setinde olmasını sağlamaktır. Aşağıdaki şartlar karşılanıyorsa uygulamalar da çalışma seti grubuna yükseltilir: dolaylı olarak kullanılır.

Bir uygulama çalışma setindeyse sistem, uygulamaya hafif kısıtlamalar geliştirme ve alarm tetikleme imkanı sunar. Ayrıntılar için bkz. Güç yönetimi kısıtlamalar hakkında daha fazla bilgi edinin.

Sık görüşülen

Düzenli olarak kullanıldığı halde her zaman olmasa da kullanılan uygulamalar sık kategorisinde yer alır ulaşıyor. Örneğin, kullanıcının spor salonunda çalıştırdığı bir antrenman izleme uygulaması sık rastlananlar arasında olabilir.

Bir uygulama sık kullanılan pakette yer alıyorsa sistem, ilgili uygulamaya geliştirme ve alarm tetikleme becerisi. Ayrıntılar için bkz. Güç yönetimi kısıtlamalar hakkında daha fazla bilgi edinin.

Nadir

Bir uygulama, sık kullanılmıyorsa nadir kategorisindedir. Örneğin, bir otel kullanıcının yalnızca söz konusu otelde kaldığı süre boyunca çalıştırdığı bir uygulamadır. paket.

Bir uygulama nadir bulunan paketteyse sistem, geliştirme ve alarm tetikleme imkanı sunar. Sistem, uygulamanın kapasitesini de sınırlandırır internete bağlanın. Ayrıntılar için bkz. Güç yönetimi kısıtlamalar hakkında daha fazla bilgi edinin.

Kısıtlanmış

Android 12'de (API düzeyi 31) eklenen bu paket, en düşük önceliğe, tüm gruplar arasında en yüksek kısıtlamayı elde edersiniz. Sistem, uygulamanızın ve etkileşim kurup kurmayacağına karar vermek açısından uygulamanızı kısıtlanmış pakete koymanız gerekir.

Android 13 (API düzeyi 33) ve sonraki sürümlerde (uygulamanız muafiyet olduğunda, sistem uygulamanızı şu durumlardan biri söz konusudur:

  • Kullanıcı belirli sayıda gün boyunca uygulamanızla etkileşime geçmediyse. Şu tarihte: Android 12 (API düzeyi 31) ve 12L (API düzeyi 32), gün sayısı 45. Android 13, gün sayısını 8'e düşürür.

  • Uygulamanız çok fazla sayıda yayın veya bağlama istiyor elde edebilirsiniz.

Sistem, uygulamanızı kısıtlanmış pakete yerleştiriyorsa kısıtlamalara tabidir:

  • 10 dakikalık toplu oturumda günde bir kez işleri çalıştırabilirsiniz. Etkinlik sırasında Bu oturumda, sistem, uygulamanızın işlerini diğer uygulamalarla işler.
    • Kısıtlanmış işler kendi başlarına çalışmaz. En az bir tane olmalıdır aynı anda devam eden veya beklemede olan başka bir iş bahsedeceğim.
  • Uygulamanız, sistem tarafından çalıştırılana kıyasla daha az hızlandırılmış iş çalıştırabilir uygulamanızı daha az kısıtlayıcı bir pakete yerleştirir.
  • Uygulamanız günde bir tane alarm çağırabilir. Bu alarm, tam bir alarm olabilir alarm veya tam olmayan alarm.
ziyaret edin.

Kısıtlanmış paketteki muafiyetler

Aşağıdaki uygulama türleri kısıtlanmış pakete girmekten muaftır ve Android 12 ve sonraki sürümlerde bile etkin olmama tetikleyicisini atlayın:

Öncelik grubunu değerlendirme

Uygulamanızın hangi pakete atandığını kontrol etmek için aşağıdakilerden birini yapın:

  • getAppStandbyBucket() numaralı telefonu arayın.

  • Bir terminal penceresinde aşağıdaki komutu çalıştırın:

    adb shell am get-standby-bucket PACKAGE_NAME

Uygulamanız bir Uygulama Bekleme Paketine yerleştirildiğinde sistem, uygulamanızı kısıtlar değeri STANDBY_BUCKET_ACTIVE (10) değerinden büyük olan kullanıcılar.

En iyi uygulamalar

Uygulamanız Doz ve uygulama bekleme modu ile ilgili en iyi uygulamaları takip ediyorsa sonraki güç yönetimi özellikleri zor olmayacaktır. Ancak bazı uygulama davranışları bu da sorunlara neden olabilir.

  • Uygulamanızı belirli bir yere koyması için sistemi manipüle etmeye çalışmayın. paket. Sistemin öncelik verme yöntemi değişebilir ve her cihaz üretici, kendi paketleme uygulamasını kullanarak kendi algoritmasından faydalanırsınız. Bunun yerine, hangi cihaz olursa olsun uygulamanızın gerektiği gibi içine sindireceğim.
  • Başlatıcı etkinliği olmayan uygulamalar hiçbir zaman seçilebilir. Uygulamanızı bu tür bir etkinlik içerecek şekilde yeniden tasarlamayı düşünebilirsiniz.
  • Uygulama bildirimleriyle etkileşimde bulunamayan kullanıcılar etkin pakete uygulama tanıtımını tetiklemek. Bu durumda, kullanıcıların etkileşimde bulunmasını sağlayan bazı bildirimler yeniden tasarlandı. Bazı kurallarda Materyal Tasarım Bildirimler tasarım kalıplarına bakın.

  • Uygulama, yüksek öncelikli bir alınca bildirim göstermiyorsa Firebase Cloud Messaging (FCM) mesajı yoksa kullanıcı etkileşime geçemez. ve böylece etkin gruba tanıtabilirsiniz. Aslına bakarsanız, planlanan yüksek öncelikli FCM mesajları için de kullanıcıya bir bildirim göndermektir. Bu nedenle, böyle bir durum söz konusu değildir. 12L (API düzeyi 32) ve önceki sürümlerde bir FCM mesajını uygunsuz bir şekilde yüksek öncelikli olarak işaretlersiniz. kullanıcı etkileşimini tetiklemesi, gelecekteki iletilerin öncelik düzeyinin düşürülmesine neden olabilir.

  • Uygulamalar birden fazla pakete bölünmüşse bu paketler farklı farklı erişim düzeylerine sahip olduğundan emin olun. Bu uygulamaları paketlerin atanmasını kolaylaştırır.