Çalışan bir android servisi var, ancak verileri güncellemek için her X saatte bir belirli bir hizmet yöntemi uygulamak istiyorum. Android kaynaklarını boşa harcamadan bunu yapmak için en iyi yaklaşım nedir?Belirli aralıklarla nasıl bir hizmet yöntemi çalıştırırım?
cevap
AlarmManager'a bakın.
Açıklama: Hizmet yönteminin saatlik aralıklarla çalışmasını istediğinizde, bu süre boyunca hizmet işleminizin devam etmesini istemezsiniz. OS, AlarmManager
'u kullanarak, gerekmediğinde servisi öldürebilir ve zamanı geldiğinde yöntemi yürütmek için getirebilir.
Eğer aralıklar dakikalar meselesiyse? AlarmManager'ı kullanmak iyi bir fikir mi? Ya da birkaç dakika servis uyku tarafından çağrılan ipi daha iyi yapmak? – Leeeeeeelo
@Leeeeeeelo - verimlilik için, küçük aralıklarla (10-15 dakikadan az), AlarmManager ile gitmemelisiniz. SO üzerinde başka yerlerde tartışmalar vardır, ör. http://stackoverflow.com/questions/11434056/how-to-run-a-method-every-x-seconds –
- 1. Raylar: Yalnızca belirli koşullar karşılanırsa bir before_save nasıl çalıştırırım?
- 2. Belirli bir alay boşluğu yöntemi
- 3. Her Sınıf Yöntemi yürütme öncesinde belirli bir yöntemi nasıl çağırır?
- 4. SQL Server'daki toplantılar, belirli aralıklarla boşaltma ve yükleme işlemlerini düzenli aralıklarla devam ettiriyor
- 5. Düzenli aralıklarla görünümleri değiştir
- 6. Enum türüne göre belirli bir yöntemi çağırın.
- 7. Hizmet içi Android erişim etkinliği yöntemi
- 8. Ruby Gem'i nasıl çalıştırırım?
- 9. Makefile'den bir Perl bir astarı nasıl çalıştırırım?
- 10. WCF Hizmet Yöntemi IIS'de Oturum Aç
- 11. Bir nesnenin belirli bir yöntemi uygulayıp uygulamadığını nasıl öğrenebilirim?
- 12. Gömülü iskeleyi kullanarak belirli bir adreste belirli bir sınıf yolu kaynağına nasıl hizmet verebilirim?
- 13. Belirli bir makinede belirli bir makinede bir hizmet bulunup bulunmadığını kontrol edin
- 14. googleMap işaretleyici düzenli aralıklarla nasıl güncellenir?
- 15. Pandalar çubuk arsa, aralıklı aralıklarla
- 16. Java kullanarak bir dosyayı nasıl çalıştırırım?
- 17. Javascript'te bir regex'de nasıl normal ifadeyi çalıştırırım?
- 18. Bir Ruby geminin özelliklerini nasıl çalıştırırım?
- 19. UnitTest ++ ile nasıl tek bir test çalıştırırım?
- 20. Rails/Rake'i başka bir dizinden nasıl çalıştırırım?
- 21. Bir Android uygulamasıyla valgrind'i nasıl çalıştırırım?
- 22. Android AlarmManager setRepeating uzun aralıklarla tekrarlanmıyor
- 23. Nesnenin belirli bir yöntemi olup olmadığını nasıl kontrol edebilirim?
- 24. Kullanıcı belirli bir sayfada değilse, bir PHP if deyimini nasıl çalıştırırım?
- 25. Buluttaki uygulamaları sürekli nasıl çalıştırırım?
- 26. Web paketini SBT'den nasıl çalıştırırım
- 27. x64 pencerelerinde PartCover'ı nasıl çalıştırırım
- 28. Nasıl Protobuf hizmet rpc bir dizi dönmek
- 29. Android'de Go kodumu nasıl çalıştırırım?
- 30. Docker kabımın içinde pycharm'ı nasıl çalıştırırım?
Neden hizmeti bir kez başlatıyorsunuz ve sonra bir zamanlayıcı eklemiyor ya da parçayı istediğiniz zamana göre uyuyamıyorsunuz? – CodeKrieger
Bu, hizmet işleminin * her zaman * yürütmesini gerektirir. Saatlerce. Bu kaynak etkili değildir. –
Teşekkürler! Öğreniyorum, zamanlayıcıyı nasıl arayacağımı araştıracağım. Herhangi bir öneriniz? – Ferran