Android WakeLock Nedir? -[ARGE]

mutevirus

Üye
24 Ağu 2017
203
1
25
TR
ANDROİD WAKELOCK NEDİR? - ARGE KULÜBÜ

Artık Telefonlarımız Hayatımızda büyük bir önem kazanmış durumda.
Onlara artık taşınabilir bir bilgisayar veya sürekli sizin online kalmanıza yarayan bir cihaz diyebiliriz.
Peki bu cihazlar nasıl sizi online tutar?
Yani siz nasıl uyanık kalırsınız?

Baktığınız Zaman uyanık kalmanız için bir önceki gece çok rahat çok derin bir uyku çekmenize gerek yoktur.
Şayet öyle bir uyku çekmişseniz o zaman uyanık kalmak için çabalamazsınız.
Çünkü zaten beyniniz gereken uykuyu sağlamış ve günlük rutinler için can atıyordur.
Bir nevi uyumaktan sıkılmıştır.
Android cihazınızda uyur.
Bu şarjdayken veya boş bir şekilde ekran kilitliyken gerçekleşebilir.
Ancak arka planda her zaman çalışan uygulamalar vardır.
Mesela siz uyurken kalbiniz hala çalışmaya devam eder.
ancak kalbinizin çalışması sizi uykuda yormaz.
Telefonunuza takılı olan sim kart ile telefonunuza sağlamış olduğunuz veri yani uydudan aldığı sinyaller telefonunuzu fazla yormaz.
Veya şarj aletine takılı olduğu için telefonunuz yorulmaz.

Peki telefonunuz uykudayken neden ısınır veya neden şarjı biter?
Yani neden uyurken yorulursunuz?
Neden yorgun uyanırsınız?




Konu aslında biraz uzun ama ben çok kısa bir özet geçerek bunu size anlatmaya çalışıcam.

Wakelock!

Mesela telefonunuz uyku modunda kilitli bir halde duruyor sizde ders çalışıyorsunuz.
Bir anda sevgilinizden veya arkadaşınızdan mesaj geldi.
Naptın?
o sırada ekranınız açılır ve bildirim sesi gelir.
bu işlem için;
1-) Mesajın size ulaşması
2-) Cihazın Bu mesajı alması
3-) Bunu onaylayıp bildirim merkezine iletmesi
4-) Ve bildirim merkezinin bir ses ile screen on yapması
gerekir.
Ama cihaz uyku modunda.
Örnek:
Mesela uyuyorsunuz ama ekmek almaya gitmeniz gerek.
yarı uyanık bir şekilde ekmek alıp eve döndünüz ve yatağa tekrar girdiniz.
Yani bunu yapmak için uyumamanız gereklidir.
Konu şu ki bildirimden sonra eğer telefonu açmazsanız ekran kapanır ve tekrar uyku moduna geçer.
Bu kısa süreli bir CPU WakeLock'tur.
Müzik dinlerken Uzun süreli CPU WakeLock'tur.
çünkü sürekli arka planda çalışır.
Cihazınız sadece 1 mesaj için wakelock yapmaz.
sizin orta tuşa basıp ekranı açmanız içinde bir wakelock mevcuttur.
yani uyurken annenizin sizi uyandırması için beyninizin duyu organlarını açık tutması gerekir ancak buda sizi yormaz.
Kısaca Uykuda kalkıp protein tozu içip tabiri caizse hayvan gibi spor yapmadıkça yorgun olarak uyanmazsınız. (YORGUN OLARAKTAN KASIT TERLİ HİÇ UYUMAMIŞ YIPRANMIŞ)
Telefonlarınızda uyku modunda kendi kendine PUBG, Asphalt 8 felan oynayamayacağına göre siz bu telefonu açınca neden ısınmış bir şekilde açılır?
Buna WakeLock'un amacı dışında kullanılması diyebiliriz.
wakelock-detector-free-2.0.1-1.png

Kötü amaçlı olmasada gereksiz bir şekilde WakeLock kullanan bir uygulama mutlaka vardır.
Peki Bunu Nasıl Tespit Ederiz?
Bu tip uygulamalar genelde pil kullanımına baktığınızda Google Play Services veya Android Sistemi gibi görebilirsiniz. Üstü kapalıdır.
2aylaO.png

Ancak Bazı uygulamalar kullanarak onları tespit edebiliriz.

CHİP ONLİNE TESPİTİNDEN ŞÖYLE BAHSETMİŞ TEKRAR YAZMAMA GEREK YOK.
Kod:
Telefonunuzun uzun süre wakelock modunda kaldığını ilk bakışta anlamayabilirsiniz. Ekran tam anlamıyla kapalıdır ve telefon gerektiği gibi uyuyor gibi görünür. Wakelock için iyi bir ipucu, telefonunuzun aşırı ısı üretmesi olabilir. İşlemci, derin uykuya geçmek yerine tam kapasiteyle kullanılırsa, cihazınız onu elinize aldığınızda her zamankinden fark edilir derecede sıcak olabilir. Ancak bunun için biraz dedektiflik yapmanız gerekebilir. Bu noktada uygulamalar devreye girerek işinizi kolaylaştırıyor.

System Monitor ile takip, BetterBatteryStats ile..

Uyumayan bir telefonu izlemenin iyi ve kolay yollarından bir tanesi, System Monitor gibi bir uygulamayla işlemci hızını takip etmek. Bu uygulama, işlemci etkinliğini yüzde olarak sınıflandırıyor. Cihazınızı elinizden hiç bırakmadan kullanmak gibi durumlar hariç, uygulamanın gösterdiği grafikte "Deep Sleep" bölümünün en büyük yüzdeye sahip olması gerekir. Eğer değilse, davranışı bozuk bir uygulamaya veya sistem işlemine sahipsiniz demektir.


Pil ömrünüzü kısaltan sorunu bulmak için biraz daha derine inmeniz gerekecek. Bunun için en iyi uygulama, BetterBatteryStats. Uygulama, Google Play'de ücretli olarak sunulsa da uygulamanın geliştiricisi, beta sürümlerini XDA forumlarında ücretsiz dağıtıyor. Root'lu kullanıcılar, uygulamada daha fazla bilgi görecekler, ancak birçok cihazda root'suz da birçok wakelock bilgisi elde edebilirsiniz.

Sorunlu işlemi yakalıyoruz

Kalibrasyon için uygulamaya birkaç saat tanıyın ve ardından ilk kutuda Kernel Wakelocks ve ikinci kutuda unplugged'i seçerek görünümü filtreleyin. Listede yukarılara yakın bir işlem görüyorsanız, suçlu işlemi buldunuz demektir. BetterBatteryStats bazı wakelock'lar hakkında daha fazla bilgi sağlayan web sayfalarına bağlantı verebiliyor. Bu sayfalarda ilgili işlemle ilgili sorunları nasıl gidereceğinizi bulabilirsiniz. Çoğunlukla telefonunuzu baştan başlatarak telefonunuzu kendine getirmeniz mümkün olabilir.

Cihazınızda davranışı bozuk bir uygulamadan şüpheleniyorsanız, listedeki PowerManagerService öğesine dikkat edin. Bu öğe, tüm kısmi wakelock'ları bir arada gösterecektir. Root'lu kullanıcılar, uygulamada kısmi wakelock'ları (Partial Wakelock) görebilirler, ancak diğer herkesin son yüklenen uygulamaları ve PowerManagerService'in başlangıcını karşılaştırarak biraz dedektiflik yapması gerekiyor.

Ve sorunu bulduk, şimdi ondan kurtuluyoruz

Bulgunuzu doğrulamak için şüphelendiğiniz uygulamaları kaldırın, BetterBatteryStats içinde özel bir referans noktası oluşturun. Telefonu uyutun (ekranı kapatın) ve bir süre sonra wakelock'ları kontrol edin. PowerManagerService artık uyuma sürenizin büyük bir bölümünü işgal etmiyorsa, sorunu buldunuz demektir. Tebrikler.

Çoğunlukla sorunuzun kökünde yüklediğiniz uygulamalardan bir tanesi yer alır. Sorunla başa çıkmanın en kolay yolu, sözkonusu uygulamayı veya oyunu tekrar kurmamaktır. Ancak pil tüketmesine rağmen uygulamayı kullanmak istiyor olabilirsiniz. Bu durumda uygulamanın işlemini güvenle kapatmanız gerekiyor. Android'de dahili bir işlem "hazırda bekletme" yolu bulunur. Bu yolu Greenify adındaki uygulamayla tetikleyebilirsiniz.

Kullanımı kolay bir uygulama olan Greenify'yi sorunlu uygulamalara tanı koymakta da kullanabilirsiniz. Uyutmak istediğiniz uygulamaları seçtikten sonra Hibernate düğmesine dokunun. Greenify, en iyi root'lu ceplerde çalışıyor, bu durumda tüm işlemleri arka planda gerçekleştirebiliyor. Root'suz cepler ise seçili uygulamaları uyutmak için uygulama içindeki düğmeyi kullanabiliyor veya uygulamayla gelen widget'tan faydalanabiliyorlar.
PEKİ BU ZIMBIRTI NEDEN KÖTÜ WEBTEKNO İSE BUNU ŞÖYLE AÇIKLAMIŞ:
Kod:
 Uyandırma Kilidi neden kötü?
Uyandırma kilidi kullanıcı farkında olmadan arkaplanda uygulamaların görevlerini yapmasını sağlar. Pil gücü, ağ veri dolaşımı ve diğer kaynakları kullanarak, bu kaynakları israf eder. Uygulamalar kullanıcının haberi olmadan arkaplanda geçiler yaparak pil ömrünüzü azaltır. Bu da biz kullanıcılar için can sıkıcı bir durum halini alır. Bu tarz uygulamalar uyandırma kilidini kullanarak telefonu uykusuz bırakır. Yani CPU ‘yu yüksek frekans değerlerinde tutar ve ekranı kapatmaz.
Umarım açıklayıcı olmuştur iyi forumlar..

--------
ARGE İÇİN İLK MAKALEM LÜTFEN ANLAYIŞ :)
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.