Android, Multitasking ve Task-Killer Uygulamalari

Multitasking

Mer­haba,

Bu yazıda sizinle android mar­kette bolca bula­bile­ceğiniz task-manager, task-killer uygu­la­maları, bun­ların android işle­tim sis­temi ile olan etk­ileşim­leri, kul­lanım alan­ları, yararları-zararları ile android işle­tim sis­te­minde genel olarak mul­ti­task­ing (çoklu uygu­lama çalıştırma) sis­tem­i­nin işley­işi hakkında kendi tecrü­beler­imi ve çeşitli kay­naklar­dan derlediğim bil­gi­leri pay­laş­mak istiyorum.

Biliy­or­sunuz, android işle­tim sis­temi temel olarak linux tabanlı bir sis­tem, ve genel olarak hafıza yöne­timi, mul­ti­task­ing, işlem önce­lik­lendirilmesi gibi konu­larda yetenekli olması ve yük­sek per­for­mans göster­mesi için tasar­landı. Android dışın­daki diğer akıllı tele­fon­lar­dan kul­lan­mış olan­lar bilir­ler; yavaş, sürekli takılan, uygu­la­malar arasında geçmesi saatler süren, arkada çalışan uygu­la­maları sürekli pil yemesin diye kap­at­mak zorunda olduğunuz bir mobil cihaz kul­lan­mak işkence gibidir (iphone’u bu duru­mun dışında tutuy­o­rum, çünkü nor­mal olarak multitasking’in destek­len­mediği bir plat­form üzerinde çalışıy­ordu, son iOS ver­siy­onu ile gelen mul­ti­task­ing özel­liği de ancak bu işi kotara­bile­cek per­for­mansa sahip yeni iphone mod­el­lerinde çalışıyor sadece)

Temel olarak mobil ciha­zlarda çoklu uygu­lama ile ilgili sorun, mod­ern bil­gisa­yar sis­tem­leri ile karşılaştırıldığında çok düşük hafızaları olması ve ekstra hafıza gerek­tiğinde kul­lan­abile­cek­leri bir takas dosyalarının (swap file) olma­ması olarak göze çarpıyor. Bu durumda da tüm uygu­la­maları o küçük hafıza alanı içinde çalıştırma zorun­lu­luğu doğuyor. Ancak bu sefer de şu soru doğuyor: her pro­gramın belli mik­tar hafıza ve işlem gücü har­cadığı muhakkak, eğer birçok pro­gram arkada çalış­maya devam ederse bu hafızaya nasıl sığa­cak­lar? Yeni pro­gram­lar açtığınızda hafızada yer açmak için eski­leri kap­at­a­cak mı? Bu durumda daha önce açtığınız bir pro­grama döndüğünüzde onun bırak­tığınız duru­munu kayıp mı edeceksiniz?

Kimse şüphe­siz böyle bir durumu uygun görmez. Düşüns­enize, oyun oynarken bir mail geliyor, siz ona bak­mak için mail pro­gramınızı açıy­or­sunuz, o sırada bir de twitter’a bakayım diy­or­sunuz, işiniz bitip oyuna dön­m­eye çalıştığınızda karşılaştığınız durum: oyun kap­atılmış, yeniden ana menüde açılıyor, mail pro­gramına dönüy­or­sunuz, mail pro­gramı kap­atılmış, yazdığınız 2 say­falık mail de uçmuş.. Hiç hoş değil.

İşte android pro­gram­cıları bu gibi durum­lar için işle­tim sis­temi şu şekilde kod­lamışlar: her­hangi bir pro­gram arka plana geçtiğinde (örn: back / home tuşu ile ana ekrana döndüğünüzde, başka bir uygu­lama açtığınızda) android uygu­lama yöneti­cisi o pro­gramın o anki duru­munu, yap­makta olduğu işlemi, görün­tüsünü sak­lıyor, ve eğer gerekiy­orsa ilk kul­lanı­lan­dan başla­yarak o pro­gram­ları son­landırarak kay­nakları ön plan­daki uygu­la­malara aktarıyor. Pro­gramın tüm durumu sak­landığı için de size tekrar o pro­grama geçtiğinizde min­i­mal gecik­meyle pro­gram açılıyor ve aynı bırak­tığınız şekliyle buluyorsunuz.

Bu arkadaki pro­gram­lar bir nevi uyku duru­munda tutul­duğu, sadece durum­ları sak­landığı için de neredeyse hiç sis­tem kay­nağı ve pil har­ca­madan hafızada duruyorlar.

Bir de tabi arka planda sürekli çalış­ması gereken, durum­ları sürekli değişen ve kap­atıl­ma­ması gereken uygu­la­malar var, örneğin müzik, mes­sen­ger gibi (ne kadar pro­gram açarsanız açın, arkada müz­iğinizin kesilmesini iste­mezsiniz ;) . Bun­lar da android sis­te­minde “servisler” olarak çalışıy­or­lar ve sis­tem tarafın­dan sonlandırılmıyorlar.

Android sis­te­mindeki genel mul­ti­task­ing işley­işi konusunda bu ön bil­gi­leri verdik­ten sonra üzer­lerinde çok tartışma dönen task-killer pro­gram­ların­dan bah­set­mek istiyorum:

 

advanced task killer

İlk olarak şunu söyleyeyim, task-killer pro­gram­larını kul­lan­mıy­o­rum, olur da hafıza kaçağı olan, düzgün kod­lan­mamış bir uygu­lama ile karşılaşır­sam da android’in içinde gelen uygu­lama yöneti­cisi pro­gramı son­landır­mak ve sis­tem­den kaldır­mak için gayet yeterli.

Task-killer uygu­la­maları genel olarak android işle­tim sis­temi ile çalışan ciha­zlara yarar­dan çok zarar getirmekte, çünkü:

·         Yukarıda bah­set­tiğim gibi, android işle­tim sis­temi, bir uygu­la­mayı, daha fazla hafıza gerek­tiğinde, uygu­lama yapacağı işi bitirdiğinde, ya da çok uzun zaman uygu­la­maya geri dönemediğinizde, son­landıra­cak şekilde kodlanmıştır.

·         Servisler aktif olarak çalış­madık­larında çok az hafıza kullanırlar

·         Bir uygu­la­mayı son­landırıl­ması gereken zaman­dan önce son­landırır­sanız, yapacağı işe gerek duyul­duğunda otomatik olarak tekrar çalışacaktır.

·         Bazı uygu­la­maları sis­tem­den bağım­sız olarak son­landır­manızın isten­meyen etk­i­leri ola­bilir: email­lerin / sms­lerin gelmemesi, alarm­ların çalma­ması, vs..

·         Siz uygu­la­maları kap­at­tıkça, gereken ve başka işlem­ler tarafın­dan çağırılan uygu­la­malar tekrar açıl­makta, ve durum­larını sak­laya­madan zorla kap­atıldık­ların­dan yapacak­ları işleri baş­tan yap­mak zorunda kalmakta, bu da hem sis­tem kay­nağı hem de pil har­can­masında artışa yol açmaktadır.

Tabi ki yıl­larca win­dows işle­tim sis­temi kul­lan­mış insan­lar olarak, arkada çalışan uygu­la­maların gerek­siz olduğunu, boş yere sis­tem kay­nağı har­cadığını düşünebil­i­riz, ancak android ve linux sis­tem­leri için yukarıda anlat­tığım neden­ler­den dolayı durum böyle değildir.

Sonuç olarak sizlere söyle­mek iste­diğim eğer bir pro­gramın son­landırıl­ması gerekiy­orsa android sis­temi zaten bunu hallediyor, sizin bunu zor­la­manız sadece daha fazla soruna yol açıyor. Eğer cihazınızda gerçek­ten son­landırıl­ması gereken, sis­tem kay­naklarını, pili sömüren bir uygu­lama var ise zaten onu sis­tem­den tama­men kaldır­mak en doğru çözüm olacaktır.

Bu konuda google android pro­gram­cıları, tecrü­beli linux ve android kul­lanıcıları tarafın­dan yazılmış bir çok yazı mev­cut, bazılarında daha detaylı teknik anlatım­lar da var. Okuyup bilgi sahibi olmanızı öner­iy­o­rum. Örnek birkaç yazıyı aşağıda bulabilirsiniz:

http://android-developers.blogspot.com/2010/04/multitasking-android-way.html

http://blog.rlove.org/2010/04/why-ipad-and-iphone-dont-support.html

http://geekfor.me/faq/you-shouldnt-be-using-a-task-killer-with-android/

Hep­inize iyi günler.

Enhanced by Zemanta
Paylaş:
  • Facebook
  • Twitter
  • email
  • del.icio.us
  • Digg
  • Google Bookmarks
  • MySpace
Posted in Android | Tagged , , , , , , , , | Leave a comment

Güvercin? Overfeeding?

İşte buna güldümm çok =)

Paylaş:
  • Facebook
  • Twitter
  • email
  • del.icio.us
  • Digg
  • Google Bookmarks
  • MySpace
Posted in Hayat, Sevdiklerim | Tagged , , , | Leave a comment

Tarkovsky’nin Polaroidleri

Tarkovsky 12

Blog’umun açılışını sevdiğim bir yönet­menin, bugün keşfet­tiğim, daha önce bilmediğim ilginç çalış­malarıyla yap­mak iste­dim. Tarkovsky’nin evinde ve İtalya’da Polaroid instant mak­i­nasıyla çektiği bu fotoğraflar ilk kez 2006’da İtalya’da yayın­lan­mış, daha sonra bi Rus pho­to­blog res­im­leri dijaital ortama aktarıp yayın­lamış. Sizi bu doğal ama gerçeküstü harikalarla başbaşa bırakıy­o­rum.. Daha fazlası için: Poe­mas del río Wang: Tarkovsky’s Polaroids / Las Polaroid de Tarkovsky

Paylaş:
  • Facebook
  • Twitter
  • email
  • del.icio.us
  • Digg
  • Google Bookmarks
  • MySpace
Posted in Etkilendiklerim, Fotograf, Sevdiklerim | Tagged , , , , , | Leave a comment