Telefonu uyandıran uygulamalarla nasıl baş edebilirim?
<p>
Eminim ki bir çokkişi bu sorunu duymuştur. Hatta birçoğunuz da farkında olarak ya da olmayarak yaşıyordur. Bazılarımız genel olarak nasıl baş edebileceğimizin farkında. Fakat pek az kişi daha karmaşık sorunlarla nasıl baş edilebileceğini biliyor.</p>
<p>
Bilmeyenler için, bu sorun "wakelock" olarak biliniyor. Kısa bir özet geçmem gerekirse: Uygulamaların "WAKE_LOCK" izni olabiliyor ve bu izin cihazın derin uyku moduna geçmesini engelliyor, bu şekilde bu uygulamalar ekran kapalı olsa bile çalışabiliyorlar. Çoğu zaman gayet kullanışlı olsa da (örneğin, navigasyonda ekranı açık tutmak için, internet üzerinden müzik dinlerken Wi-Fi bağlantısını açık tutmada vs.) yanlış şekilde kullanıldığında bataryanın çok hızlı bitmesine sebep olabiliyor (saatte %25 gibi).</p>
<p>
Çoğunlukla kaynağı belirlemek kolaydır (genelde yanlış davranan bir uygulama). Bu pek çok kullanıcı için oldukça işe yarar bir çözüm olacaktır. Fakat ya WakeLock izni olan bir uygulama bu izni kapatmıyorsa? Android sistemi bu sorunla başa çıkamaz. Elbette, telefonu yeniden başlatmak sorunu çözer ama bu her zaman yapılmak istenen bir şey olmuyor.</p>
<p>
Bu sebeple, kullanıcı bakış açısıyla (geliştirici çözümlerinden bahsetmiyorum, bir kullanıcının yapabileceği şeyleri kastediyorum):</p>
<p>
<strong>Kullanıcı tarafından bu sorunu çözmek ve hızlı batarya tükenmesini önlemek için ne yapılabilir?</strong></p>
<p>
Root erişimi gerektirmeyen cevapları tercih ederim (böylelikle tüm kullanıcılar cevaptan faydalanabilirler). ama yine de, root erişiminin gerekli olduğu cevaplar da geçerlidir ve bu cevaplardan da memnun olurum.</p>
09.10.2014 tarihinde
Ilgaz
sordu
Bu soruya toplam 1 cevap verilmiştir
<p>Etkilendiğimi nasıl söyleyebilirim?</p>
<p>Bu konuya aşina olan insanların muhtemelen soracakları ilk soru bu. Gingerbread(Android 2.3) ve üstü sürümlerde batarya istatistiklerini anlamanıza yardımcı olan bir servis ekranı oluyor. Üreticiler onu farklı noktalara koyma eğiliminde olsa da, genelde Ayarlarà Telefon hakkında à Batarya ya da benzeri kısmında bulunuyor ve bataryanızın çoğunu kullanan uygulamaların bir listesini gösteriyor. En üstünde küçük bir grafik var. Buna tıklayınca sizi şuna benzeyen bir ekrana götürecek:</p>
<p>Cihazlarımdan birinde konuyu açıklayan bir ekran görüntüsü seçtim. En düşük iki mavi çubuğa baktığınızda( “Aktiv”= Cihaz açık tutuldu(aktif), “Bildschirm an”= “Ekran açık” ) sağdaki en mavi “Aktiv” üzerindeki çubuk ise “Uyandırma kilidini(WakeLock)” simgeliyor: cihaz ekran kapalı olduğu halde meşgul tutuldu. Yani böylelikle bir WakeLock’umuz olduğundan emin olabiliriz—ama buna kimin sebep olduğunu söyleyemeyiz.</p>
<p>Eğer ki cihazınızbu ekranı göstermiyorsa(ya da en alttaki çubukları: Yeni fark ettim ki mesela Android 4.0.3 ile çalışan LG Optimus 4X bu çubukları göstermiyor), onları mesela <a href="https://play.google.com/store/apps/details?id=com.gsamlabs.bbm">G Sam Battery Monitor</a>’ü kullanarak bulabilirsiniz:</p>
<p>WakeLock’a ne sebep oldu?</p>
<p>Ne yazık ki, bu soru daha önce yüklenilen uygulamaları kullanarak cevaplanamaz(istisnai olarak, belki bazı custom ROMlar). Ancak bunu yapabilen bazı araçlar(tool) var. En iyi bilineni ise <a href="https://play.google.com/store/apps/details?id=com.asksven.betterbatterystats">BetterBatteryStats</a> ve bize kısmi WakeLocklar kısmında nedeni gösteriyor:</p>
<p> İlk örnekte(uygulamanın playstore sayfasından alınmıştır), olay WakeLockların çoğunun istenilen olmasına neden oluyor: Müzik dinlerken yeniden oynatmanın durmasını istemiyoruz. Böylece 2. örnek(benim cihazlarımdan birindeki gerçek bir durumdan alıntıdır) daha iyi bir kanıt olabilir: en üst 3 durum aynı uygulama yüzünden oluyor ve bu IMAP push servisini aktif tutmak için WakeLock’a ihtiyaç duyuyor.</p>
<p>Alternatif bir BetterBatteryStats için, <a href="http://android.stackexchange.com/questions/34969/how-to-deal-with-orphaned-wakelocks/41061#41061">Uzumapp’in cevabında</a> bahsedilen <a href="https://play.google.com/store/apps/details?id=com.uzumapps.wakelockdetector">WakeLock Detector</a>’a bir bakın—bu özellikle teknisyen olmayanlar için idare etmesi daha kolay görünüyor.</p>
<p>Ne Yapılabilir?</p>
<p>Eğer ki durum daha önceki kısımdaki 2. örnekte olduğu kadar açıksa, yapılacak şey belli—en azından benim durumumda: bir mail geldiğinde hemen görmeme gerek yok, 30 dakikalık bir gecikme kesinlikle kabul edilebilir bir şey. Böyle olunca mail uygulamasına girdim, <a href="http://en.wikipedia.org/wiki/Push-IMAP">IMAP Push</a>’u(ayrıca <a href="http://en.wikipedia.org/wiki/Push_email">Push Email</a>’e bakın) etkisiz hale getirdim ve yerine 30 dakikalık denetleme aralığına değiştirdim. WakeLocklar tamamen yok olmadı ancak, gözle görülür şekilde bir düşüş oldu—şarj ömrü fark edilir şekilde gelişti.</p>
<p>Bir de sorunun kendisinde bahsedilen durum var: kötü çalışan bir uygulama kendi WakeLock’unu yayınlamıyor. Bulduklarınızı geliştiricilerinkiyle karşılaştırın ve düzeltmek için yardım isteyin. Eğer ki alırsa: sorun çözüldü. Eğer ki almazsa: hemen hemen her zaman erişilebilir alternatif bir uygulama vardır.</p>
<p>Ya Sorun Android Sisteminin Kendisi İse?</p>
<p>Evet, bazen olay sadece bundan ibaret görünüyor: %98 ya da daha fazla Android Servisi tarafından tüketiliyor. Eğer ki %98 ise çoğu durumda bu durumu oluşturan şeyin adı LocationManagerService oluyor. Bu özel durumda, adı geçen “kötü adamın” aslında suçu bile yok—en azından direkt olarak yok. İşte yine o anki konumu çok sık aralıklarla takip eden bir uygulama. Bu durum hakkında Setera.org’da harika bir makale var: <a href="http://www.setera.org/2012/09/10/pinpointing-android-locationmanagerservice-battery-drain/">Pinpointing Android LocationManagerService battery drain</a>. Bir özetini vermek gerekirse: Android’in dumpsys özelliğini(root gerektiriyor) bir sistem durumunun dökümünü almak için kullanıyor ve LocationManagerService için kurulmuş olan dinleyicileri soruşturmanıza olanak sağlıyor. Yapılandırmalarına daha yakından bir bakarsanız hangisinin konum bilgisi için bunu devamlı olarak çalıştırdığını görebilirsiniz(bazıları bunu devamlı olarak yapıyor, mesela hiç ara vermeden). Eğer ki uygulamanın kimliği listede varsa ve başka bir yerde döküm içinde hatta uygulamaların teknik adıyla birlikte varsa, hala kimliğini belirleyebilirsiniz ve doğru adımları takip edebilirsiniz.</p>
<p>Peki ya UFOlar hakkında?</p>
<p>Ne yazık ki,şöyle bir şey var: WakeLock’a kaydolan uygulamalar—onu yayınlamadan duramıyorlar. Geriye kalan, kullanılmayan, kötü, işe yaramaz şeyler*--WakeLocklar hiçbir işe yaramıyor. Yani uygulamayı kolayca ön plana getirip yeniden yapılandırmanın ya da kendi WakeLocklarını yayınlamasının bir yolu yok.</p>
<p>Burada benim aklıma gelen tek çözüm reboot yapmak—ancak daha iyi bir çözümüm olsun isterdim. Tabi ki, eğer ki suçlu olan uygulamayı biliyorsanız, onu ilgilendiren adımlar da yukarıdakilerin aynısı: geliştiricileri bilgilendir, onarım için yardım al—ya da uygulamayı kaldır. Ancak şu andaki WakeLock’tan kurtulmak nasıl olacak? Belki başka birisi reboottan daha iyi bir çözüm önerebilir. </p>
21.01.2015 tarihinde
bu ne lan bu nasıl bir anlatım. arap saçına çevirmişsin cümleleri.
- 07.09.2016 tarihinde
cumali
yorumladı
807 kez görüntülendi
son hareket 07.09.2016 tarihinde
son hareket 07.09.2016 tarihinde