Android Uygulamalarının Çökme Nedenleri

App Crash Error

Uygulamaların neden dontuğunu, yanıt vermeyi durdurduğunu veya sadece kilitlendiğini merak ettiniz mi? Cevap o kadar da basit değil. Akıllı cihazlar son birkaç yıldır dünyamızı sular altında bıraktıkça, günlük yaşamlarımız boyunca gitmek için bazı uygulamalara güvenmeye ve çoğu kez güvenmeye alıştık. Bu uygulamaların bolluğu ile güvenilirlik sorunu geliyor. Zaman zaman uygulama çökmeleri yaşamak nadir değildir. Bazı insanlar bu sorunu çok yaşayabilirken, bazıları her hafta sadece birkaç kez bu sorunu yaşayabilir. Gerçi kalır: uygulamalar çöküyor! Ama neden? Aşağıda, gadget’larımızdaki uygulamaların aniden uygunsuz zamanlarda ölümüne neden olmasının en yaygın nedenlerinden bazıları verilmiştir.

Etkisiz müşteri optimizasyonu

Kaynakların zayıf yönetimiyle sonuçlanan arayüz tasarımı kusurları olan uygulamalar çökme eğilimindedir. Bir geliştirici, uygulamanın çalışması amaçlanan bir cihazın yeteneklerine meraklı değilse, bu uygulama bir kaynak domuz ve kullanıcılar için sürekli bir hayal kırıklığı kaynağı olabilir. Bir uygulamanın kaynakları nasıl yönettiğini en aza indirgemek için yerleşik teknikler vardır, ancak bir geliştirici köşeleri keserse veya uygulayamazsa, bu her zaman fark edilmez. Örneğin, fotoğrafların dosya boyutunun çok büyük olmamasını sağlamak için görüntü sıkıştırma algoritmaları kullanmak şarttır. İyi bir geliştirici, tüm akıllı cihaz sahiplerinin her zaman yanan internet hızlarına sahip olmadığını dikkate almalıdır. Günümüzde birçok uygulamanın çalışması için düzenli olarak uzak bir sunucu ile bağlantı kurması gerektiğinden, geliştiricilerin ekranda meydana gelen olaylar ve cihazın gerçek yetenekleri arasındaki ilişkiyi dikkate alması gerekir. Bu açıdan bir yanlış hesaplama, uygulamanın yayınlandıktan sonra nasıl davrandığını önemli ölçüde etkileyebilir.

Farklı ağ türlerinin kullanımı

Ağ bağlantınızı mobil veriye veya Kablosuz ağa değiştirdikten sonra bir uygulamanın çöktüğünü gördünüz mü? Samsung Galaxy serisi gibi amiral gemisi telefonların çoğunda bağlantı anahtarını sorunsuz bir şekilde geçirmek ve veri kaybını en aza indirmek için yerleşik bir otomatik ağ anahtarı özelliği olsa da, bazı uygulamalar çoğu zaman istikrar sorunlarına maruz kalabilir. Bu sorun birkaç yıldır bizimle birlikte ve bunun cevabı hem geliştiricilerin hem de Android’in üreticisi Google’ın omuzlarına dayanıyor. Kimse daha etkili bir çözüm bulamamıştır. Bir uygulamanın kilitlenmesini önlemek için başka bir ağ türüne geçmeden önce uygulamayı kapattığınızdan emin olun.

Bant genişliği sınırlamaları

Bir uygulamanın yüklenememesi, donması ve ardından ölmesinin başka bir nedeni, bant genişliği sınırlandırılmadan almasıdır. Güvenilmez bir bağlantı, uygulama işlem sırasında kötü veriler alabileceğinden genellikle önbelleğin bozulmasına neden olur. Bazı uygulamalar evde harika çalışabilir, çünkü biri muhtemelen daha kararlı WI-Fi bağlantısını kullanıyor, ancak yola girdikten ve mobil verilere geçtikten sonra, gerçek sorun başlıyor. Geliştiriciler bu olasılığa dikkat etmelidir, ancak bu genellikle uygulama oluşturmada en sık görülen özelliklerden biridir. Sivilceli mobil bağlantınızı kullanırken belirli bir uygulamanın yavaş veya çökme eğilimi gösterdiğini fark ederseniz, suçcunuzu geliştiriciye ayırın. İyi bir uygulama, kararlı bir bağlantıyla veya sabit bağlantı olmadan güvenilir bir şekilde çalışmalıdır.

Kötü bellek yönetimi

Android geliştiricilerinin ana zorluklarından biri, uygulamalarının çok çeşitli cihazlarda iyi çalışmasını sağlamaktır. Bazı uygulamalar bir HTC One M9’da iyi çalışabilir, ancak her iki cihazın CPU hızı ve işlem gücü açısından geniş bir boşluğa sahip olması nedeniyle Samsung Galaxy S2’de iyi çalışmayabilir. Bu, daha yeni ve daha hızlı cihazların kilitlenmeyen uygulamaları garanti ettiği anlamına gelmez. Bir uygulamanın başlatılması 5 saniyeden uzun sürerse, genellikle işletim sistemi tarafından öldürülür. Bu, kullanıcılar tarafından bir çökme olarak algılanır.

Lackasaidal hata ayıklama

Rushed uygulamalarda üretim sırasında düzgün hata ayıklama olmayabilir, bu nedenle yeni özellikler eklendiğinde, bazı parçalar daha sonra amaçlandığı gibi çalışmayabilir. Aslında, uygulama kilitlenmelerinin büyük bir kısmı insan hatasından kaynaklanıyor. Yanlış kodlama ve var olmayan bir değişkene başvuru atama genellikle boş gösterici hatası adı verilen ölümcül hataya neden olur. Örneğin, bir geliştirici yanlış gidebilecek şeyleri tahmin ederken dikkatli olmazsa, boş gösterici ile sonuçlanabilir. Bu, bir uygulama aniden yanıt vermeyi durdurduğunda ortaya çıkar.

Uyumsuzluk sorunları

Şu anda, bir geliştiricinin bir uygulamayı parçalanma nedeniyle aktif olarak çalışan tüm cihazlarda test etmesi neredeyse imkansızdır. Bu yüzden bazı uygulamalar bazı cihazların tam tersini yaparken diğer cihazlarda çok iyi performans gösterir. Test etmek sadece zaman alıcı olmakla kalmaz, aynı zamanda özellikle mücadele eden geliştiriciler için de çok uygun maliyetli değildir. Uyumluluk sorunları, yeni bir büyük işletim sistemi güncellemesi olduğunda da meydana gelir. Lollipop’u yükledikten sonra KitKat’ınız olduğunda bazı uygulamalarınızın daha güvenilir göründüğüne şaşırmamalısınız.

Bununla, Android uygulamalarının neden çöktüğüne dair kısa tartışmamız sona eriyor. Akıllı telefonlar daha hızlı ve daha güçlü hale gelmiş olsa bile, bu sorunun neden hala devam ettiğini umuyoruz. Uygulama oluşturmanın zor bir iş olduğunu ve bu ticarette milyarlarca olmasa da milyonlarca olası başarısızlık noktası olduğunu unutmayın. Belirli bir uygulamada benzersiz görünen bir sorunla karşılaşırsanız, bir rapor göndererek veya doğrudan onlarla iletişim kurarak geliştiriciye bu durumu bildirerek yardımcı olmaya çalışın.

Ayrıca Android Lollipop’un Neden Sorunlara Neden Olduğunu Görün

 

 


Bizimle etkileşime geçin

Cihazınızla bir sorunla karşılaşan kullanıcılardan biriyseniz, bize bildirin. Android ile ilgili sorunlara ücretsiz çözümler sunuyoruz, bu nedenle Android cihazınızla ilgili bir sorununuz varsa, bu bağlantıdaki kısa anketi doldurun ve cevaplarımızı sonraki yazılarda yayınlamaya çalışacağız. Hızlı bir yanıt garanti edemeyiz, bu nedenle sorununuz zamana duyarlıysa, lütfen sorununuzu çözmenin başka bir yolunu bulun.

Sorununuzu açıklarken, lütfen ilgili çözümü kolayca bulabilmemiz için olabildiğince ayrıntılı olun. Mümkünse, nereden başlayacağımız konusunda bize bir fikir vermek için tam hata mesajlarını ekleyin. Bize e-posta göndermeden önce bazı sorun giderme adımlarını denediyseniz, yanıtlarımızdan atlayabilmemiz için bunlardan bahsettiğinizden emin olun.

TheDroidGuy’un sosyal ağ varlığı da var, bu yüzden Facebook ve Google+ sayfalarımızda topluluğumuzla etkileşim kurmak isteyebilirsiniz.