Android Api 28 Service Foreground Destroy

Android API 28 Hizmet Ön Planı Yok Etme

Android API 28’de, ön planda çalışan bir hizmeti durdurmak için yeni bir yöntem olan destroy() yöntemi eklendi. Bu yöntem, stopSelf() ve stopService() yöntemlerinin yerini alır.

destroy() yöntemi, hizmeti hemen durdurur ve hizmete bağlı tüm istemcileri bilgilendirir. Bu, hizmeti durdurmanın en hızlı ve en güvenli yoludur. Ancak, destroy() yöntemi, hizmetteki tüm işlerin tamamlanmasını beklemez. Bu nedenle, hizmette önemli işler yapıyorsanız, bu işlerin tamamlanmasını beklemek için stopSelf() veya stopService() yöntemlerini kullanmalısınız.

destroy() yönteminin kullanımı şu şekildedir:

“`java
@Override
public void onDestroy() {
super.onDestroy();

// Hizmetteki tüm işleri durdurun.
stopAllTasks();

// Hizmete bağlı tüm istemcileri bilgilendirin.
notifyClients();

}
“`

destroy() yöntemi, Service sınıfının bir parçasıdır. Bu nedenle, ön planda çalışan bir hizmet oluşturmak için Service sınıfını miras almanız gerekir.

destroy() Yönteminin Avantajları

destroy() yöntemi, stopSelf() ve stopService() yöntemlerine göre bir takım avantajlara sahiptir. Bu avantajlar şunlardır:

  • Daha hızlı: destroy() yöntemi, hizmeti hemen durdurur. Bu, stopSelf() ve stopService() yöntemlerinden daha hızlıdır.
  • Daha güvenli: destroy() yöntemi, hizmete bağlı tüm istemcileri bilgilendirir. Bu, hizmeti durdurduktan sonra istemcilerin hizmete erişmeye çalışmasını önler.
  • Daha kolay: destroy() yöntemi, stopSelf() ve stopService() yöntemlerinden daha kolay kullanılır.

destroy() Yönteminin Dezavantajları

destroy() yöntemi, stopSelf() ve stopService() yöntemlerine göre bir takım dezavantajlara sahiptir. Bu dezavantajlar şunlardır:

  • Hizmetteki işleri tamamlamaz: destroy() yöntemi, hizmetteki tüm işlerin tamamlanmasını beklemez. Bu nedenle, hizmette önemli işler yapıyorsanız, bu işlerin tamamlanmasını beklemek için stopSelf() veya stopService() yöntemlerini kullanmalısınız.
  • Hizmete bağlı istemcileri bilgilendirir: destroy() yöntemi, hizmete bağlı tüm istemcileri bilgilendirir. Bu, hizmeti durdurduktan sonra istemcilerin hizmete erişmeye çalışmasını önler. Ancak, bu durum, istemcilerin hizmete erişmeye çalıştığında hata almasına neden olabilir.

Sonuç

destroy() yöntemi, Android API 28’de eklenen yeni bir yöntemdir. Bu yöntem, ön planda çalışan bir hizmeti durdurmak için kullanılır. destroy() yöntemi, stopSelf() ve stopService() yöntemlerinden daha hızlı, daha güvenli ve daha kolaydır. Ancak, destroy() yöntemi, hizmetteki işleri tamamlamaz ve hizmete bağlı istemcileri bilgilendirir. Bu nedenle, hizmette önemli işler yapıyorsanız, bu işlerin tamamlanmasını beklemek için stopSelf() veya stopService() yöntemlerini kullanmalısınız.

Faydalı Siteler


Yayımlandı