12 Mart 2012 Pazartesi

iOS'ta arka plandaki uygulamaları kapatmak ne kadar gerekli?

Eğer Apple'ın mobil cihazlarından birini kullanıyorsanız yüksek ihtimalle en sık bastığınız tuş cihazın alt kısmında bulunan tuştur. Zaten başka tuş da yok, mecbursunuz ona basmaya. Çevremde birkaç yıldır aynı iPhone'u kullandığını bildiğim kişilerin çoğu bu tuşun arızalanmasından şikayet ediyor. Tuşta sorun yok aslında, sorun kullanım şeklinde. iOS 4.0 çıkana kadar iOS cihazlarında çoklu uygulama desteği (multitasking) yoktu. Rakip mobil işletim sistemlerinde ise bu destek mevcut. Bu da iOS'un eksikliği olarak göze çarpıyordu. Apple bu işe ilginç ama karmaşık bir çözüm buldu, ama bu karmaşıklık kullanıcıların kafasını daha fazla karıştırdı.

Çoğu kişi iOS cihazının pil ömrünü uzatmak için arka planda çalışan programları kapatıyor. Aslında kapattığını sanıyor, çünkü o programların çoğu zaten kapanmış oluyor. Baştan başlayayım, karışıklık olmasın. Bilindiği üzere, akıllı telefon ve tabletlerin en büyük sıkıntısı pil ömrü. Bu cihazlar herşeyi gayet güzel yapıyorlar, ama pilleri hemen bitiyor. Başta Android olmak üzere, çoklu uygulama desteğine sahip mobil işletim sistemlerini kullananlar cihazların pil ömrünü birazcık daha uzatabilmek için sık sık arka plandaki uygulamaları kapatıyorlar. Zira uygulamalar kapanmış gözükse bile tam anlamıyla kapanmayabiliyor. Arka planda çalışıp bellekte yer işgal ediyorlar, işlemciye gereksiz yere yükleniyorlar. Aynı dertten muzdarip olan iOS kullanıcıları da benzer bir yöntemle arka plandaki uygulamaları kapatıyorlar. Böylece pil ömrünü arttıracaklarını ve cihazlarının daha performanslı çalışacağını düşünüyorlar. Tabi gerçeklerle düşünceler her zaman örtüşmüyor.

Çoğu iOS kullanıcısı orta tuşa çift tıklandığında alt kısımda (yukarıdaki resimde görüldüğü gibi) açılan yatay listenin o an açık olan uygulamaların listesi olduğunu düşünür. Aslında bu liste o an çalışan uygulamaların değil, yakın zamanda çalıştırılmış uygulamaların listesi. Listedeki uygulamaların hepsi aynı anda çalışmıyor. Siz bir uygulamayı kullanırken orta tuşa basartığınızda o uygulama arka plana geçiyor. Uygulama (bazı istisnalar haricinde) arka planda sadece kısa bir süre -mesela 10 saniye- çalışıyor, sonra uyku moduna geçiyor. Bundan sonra da eğer cihaz yenidne başlatılmazsa veya uygulama elle (cebren) kapatılmazsa bellek ihtiyacı doğana kadar uyku modunda kalıyor. Bellek ihtiyacı doğunca da komple kapatılıyor. Bu "uygulamanın halleri" meselesini şöyle detaylıca açıklarsam daha iyi olacak sanırım:
  • Çalışmama hali (Not running): Uygulama kapalıdır. Açılmamıştır veya bir şekilde kapatılmıştır. Bu halde uygulama işlemciye yüklenmez, bellek tüketmez.
  • Durdurulma hali (Inactive): Uygulama çalışıyorken cihaz kapatılmıştır. Uygulama çalışmaya devam eder ama işlemciye yüklenmez, internet bağlantısını kullanmaz.
  • Çalışma hali (Active): Bildiğiniz çalışma hali işte. Uygulama çalışır, işlemciye yüklenir, bellekte yer işgal eder, pili tüketir.
  • Arka planda çalışma (Background): Uygulama arka planda çalışmaya devam eder. İşlemciyi kullanır, bellekte yer işgal eder, internet bağlantısından faydalanır. Bu sırada pili de tüketir.
  • Uyku hali (Suspended): Uygulama bellekte yer işgal eder, ama işlemciye yüklenmez. İnternet bağlantısını da kullanmaz. Çalışmama halinden tek farkı bellekte yer işgal etmesidir.
Şimdi, çalışmama hali zaten pili tüketmiyor. Durdurulma hali de aynı şekilde, bizim için zararsız. Zaten kimse uygulama çalışıyorken telefonu kapatıp cebine koymuyor, herkes önce uygulamadan çıkıyor. Uyku hali de işlemciye yüklenmediği için pil tüketimini etkilemiyor. Bizim dikkat etmemiz gereken şey arka planda çalışma hali. Çoğu uygulama orta tuşa basılarak bertaraf edildiğinde kısa bir süre arka planda çalışıyor, daha sonra da uyku haline geçiyor. O uygulamaya tekrardan tıkladığınızda kaldığı yerden devam etmesinin sebebi de bu, uyku halinde de olsa uygulamanın bellekteki bilgileri silinmemiş oluyor. Cihazın belleğinde kalan bu uygulama "ayak izleri" ancak manuel olarak uygulama kapatılırsa veya bellek ihtiyacı artarsa siliniyor. Mesela, cihaz belleğinde 100MB boş yer kaldıysa ve o an çalıştırılmak istenen uygulama 150MB boş yer istiyorsa, iOS otomatik olarak son çalıştırılan uygulamalar listesinin en sonunda olan, yani en eski olan uygulamanın bilgilerini bellekten siliyor. Böylece yer açılıyor, sorun yaşanmıyor. Pil tüketimi de bu durumdan etkilenmiyor.

Tabi herşey böyle güllük gülistanlık değil, bu sisteme uymayan uygulamalar da var. Bazı uygulamalar hemen uyku moduna geçmiyor, elle kapatılana kadar arka planda çalışmaya devam ediyor. Bunlar beş ayrı sınıfa ayrılıyorlar:
  • Müzik veya ses dosyası çalan uygulamalar (Podcast çalanlar mesela)
  • Konumlandırma sistemi kullanarak yerinizi takip eden uygulamalar (navigasyon yazılımları)
  • İnternet bağlantısı üzerinden sesli görüşme yapılan (VOIP) uygulamalar (Skype gibi)
  • Sürekli kendini güncelleyen haber uygulamaları
  • Bir aksesuarla (mesela özel bir dock ünitesiyle) sürekli bağlantı halinde çalışan uygulamalar
Görüldüğü üzere, her uygulamaya aynı muameleyi yapmak da yanlış. Pil ömrünü arttırmak için bazı uygulamaları kullanılmadığı zaman elle kapatmak şart oluyor. Dahası, bazı uygulamalar pil tüketimini arttırmakla kalmıyor, bir taraftan da boş yere internetten birşeyler indirip 3G kotasını dolduruyor. Bu durumda kullanılan uygulamaların davranışlarına dikkat etmek lazım. Telefona indirilen ve kullanılan uygulamalar tanınmalı, yukarıdaki kıstaslara uyup uymadıkları incelenmeli. Bir de "kötü yazılmış" uygulamalar var tabi. Apple App Store'a girecek uygulamaları inceliyor, ama arada gözden kaçanlar oluyor. Bu durumda bazı uygulamalar yukarıdaki kıstaslara uymadıkları halde uyku moduna geçmeyi reddedebiliyorlar. Bu yüzden her uygulamayı kapattıktan sonra bir de listeden komple kapanmaya zorlamak yerine ara sıra temizlik yapmak daha makul görünüyor. Böylece hem orta tuşun canına okunmaz, hem de aşırı pil ve veri tüketiminin önüne geçilmiş olur. Temizliğin hangi sıklıkla yapılacağı ise tamamen kişilere kalmış bir durum. Ben iOS uzmanı değilim, ama bu konuyu merak ettiğim için biraz araştırdım ve uygulama geliştirici Frasier Speirs'in blogunda bu konuyla ilgili bir makale buldum. Faydalı olacağını düşündüğüm için özetleyerek çevirdim, umarım birilerinin işine yarar.

Hiç yorum yok:

Yorum Gönder