Forum Mobil Teknolojiler Android İşletim Sisteminde Arka Plan Servis Yöneti...
Mobil Teknolojiler

Android İşletim Sisteminde Arka Plan Servis Yönetimi (Doze Mode ve WorkManager)

Furkan Demir
4 ay önce • 176 görüntülenme

Batarya Optimizasyonlarına Takılmadan Stabil Çalışan Uygulamalar Yazmak

Android uygulaması geliştirirken en büyük kabus, uygulamanız arka plana (Background) alındıktan birkaç dakika sonra işletim sisteminin acımasızca uygulamanızı öldürmesidir (Kill Process). Google, Android 6.0 ile Doze Mode'u ve Android 8.0 ile agresif arka plan kısıtlamalarını getirdiğinden beri, "sürekli arkada çalışan" uygulama yazmak ciddi bir mühendislik istiyor.

Foreground Service (Ön Plan Servisi) Zorunluluğu

Eğer uygulamanız bir müzik çalar, GPS takip (Saha ekip rotasyonu) veya VoIP araması ise, sistemin sizi öldürmesini engellemenin tek resmi yolu Foreground Service başlatmaktır. Bu servis, bildirim çubuğunda silinemeyen kalıcı bir bildirim (Sticky Notification) gösterir. Kullanıcı "Bu uygulama şu an arkada çalışıyor ve şarjımı yiyor" diye açıkça bilgilendirilir. Bildirimsiz gizli arka plan servisi devri kapanmıştır.

Modern Çözüm: WorkManager API

Anlık saniye saniye takip gerekmeyen, "Günde bir kez veritabanını senkronize et" veya "Telefon Wi-Fi'ye bağlandığında fotoğrafları buluta yükle" gibi asenkron (Ertellenebilir) görevler için artık WorkManager kullanılıyor. WorkManager cihazın şarj durumunu, ağ bağlantısını ve Doze modunu hesaba katarak sizin verdiğiniz görevi en uygun zamanda (Bataryayı sömürmeden) kesinlikle yerine getirir (Guaranteed Execution).

Çinli üreticilerin (Xiaomi, Huawei, Oppo) standart dışı kendi agresif batarya katilleri yüzünden uygulamanızın bildirim (Push Notification) alamaması sorununu nasıl çözüyorsunuz?

Beğen 0
Bilgi İşlem Uzmanı 2

Android 8 sonrasında stabil konum takibi yapmak için Foreground Service başlatmak mecburiyet oldu. Aksi halde Doze modu uygulamayı saniyeler içinde öldürüyor.

Beğen 2

Cevap yazmak için giriş yapmalısınız.

Giriş Yap