Android Merkezi

Tüm Android'ler eşit mi yaratılmıştır? Yazılım büyük fark yaratır

protection click fraud

Kullanıcı deneyimi söz konusu olduğunda, telefonunuzun içindeki donanımın nasıl fark yaratabileceğinden bahsettik. Şimdi yazılım hakkında konuşma zamanı.

Yazılım, herhangi bir bilgisayarın en önemli tek parçasıdır. İster cebinizde tuttuğunuz küçük bilgisayardan, ister oda büyüklüğündeki kümelerden bahsediyor olalım. uzay görevlerini yönetmek gibi şeyler, yazılım olmadan tüm bu devreler, teller ve çipler işe yarardı Hiçbir şey. Hatta herhangi bir şey yaptığını görmeden önce telefonunuzu açmak ve başlatmak için yazılım gerekir. Telefonunuzun içindeki donanım ne kadar pahalı veya yeni olursa olsun, onu bir şeyler yapmak için programlamaya harcanan tüm çabalar olmadan hiçbir işe yaramaz.

Bununla Android'e odaklanacağız çünkü burada yaptığımız şey bu, ancak konuşacağımız fikirlerin çoğu, satın alabileceğiniz veya kendiniz yapabileceğiniz herhangi bir bilgisayar için aynıdır. En büyük farklar (ve zorluklar), telefonlarımızın çok büyük olmayan mobil cihazlar olması ve bu, her şeyin güç verimliliği gözetilerek yapılması anlamına geliyor. Olağanüstü güç verimliliği. Küçük bir güç kaynağıyla en iyi kullanıcı deneyimini sağlamaya çalışmak için doğru parçalar tasarlanıp birleştirildikten sonra, yazılım ekiplerinin işe koyulma zamanı gelir.

android nedir

Bu Android
Resim kredisi: Android Açık Kaynak Projesi.

Bundan daha önce bahsetmiştik, ancak tekrar ele almaya değer - Android muhtemelen düşündüğünüz gibi değil. Kelime oldukça farklı şekillerde kullanılır - Android bir markadır, Android bir işletim sistemidir ve Android kaynak kodudur. Temel düzeyde Android, uygulamaları çalıştırmak için kullanılabilen bir grup koddur. Temel özellikleri için basit bir kullanıcı arayüzü ile birlikte gelir, ancak hangi cihazda çalıştırılması amaçlanıyorsa onu çalıştırmak için çok fazla zaman ve geliştirme gerektirir.

her şey sen iken ihtiyaç önyüklenebilir bir yazılım görüntüsü oluşturmak zorunda olmak, Android kaynak koduna dahildir, tüm donanımlar için kullanılabilecek tek bir görüntü ve yükleyici oluşturamazsınız. Siz onu gerçekten çalışacak bir şeye dönüştürmeye çalışmadan önce belirli bir donanım için desteğin bildirilmesi gerekir. Bu yapıldıktan sonra, çalışan bir Linux işletim sistemi oluşturabilir ve onu amaçlanan hedefe kurabilirsiniz.

Yine de herhangi bir şey göndermeden önce, çoğunu ince ayar yapmanız ve kurcalamanız gerekecek - optimizasyon derken kastettiğimiz bu.

İsletim sistemi

AT&T Galaksi S7

İki yazılım düzeyi vardır — işletim sistemi ve bununla ilgili ekstralar ve üzerinde çalışmak üzere yüklenen uygulamalar. Telefonunuzu yapan kişiler, yalnızca işletim sisteminin iyi performans göstermesini sağlamakla ilgilenmekle kalmaz, aynı zamanda bir milyon kadar uygulamayla uyumluluğu sürdürmek zorundadır. Dikkat edin, "uyumluluğu koruyun" dedik, üçüncü taraf uygulamaları için hiçbir şeyi optimize etmedik. Bu tamamen farklı bir konu ve Google, oradaki işin çoğunu Android uygulama çerçevesiyle yapıyor - telefon üreticisinin tek yapması gereken, hiçbirini kırmamaya çalışmak. Ve bu, düşündüğünüzden daha fazla iş anlamına geliyor çünkü bu şirketler Android'in görünüşünü ve hissini değiştiriyor.

Her Android modeli farklı bir yazılım çalıştırıyor.

İki Android modeli aynı değildir. Aynı ada sahip aynı üreticinin telefonları bile farklı bölgelerde (veya farklı müşteriler için - telefon şirketiniz) farklı yazılımlar çalıştırabilir ve çalıştırırlar. Ve bu mantıklı. Gigabaytlarca depolama alanımız yok, bu nedenle her farklı Samsung Galaxy S7 modelini destekliyoruz — o telefonun 30'dan fazla versiyonu var — tek bir yazılım parçasına entegre etmek pratik değil. Bu nedenle, örneğin, S7 için Verizon güncellemesini indiremez ve AT&T modelinizde kullanamazsınız. Ancak aynı modelin farklı SKU'ları için yapılan küçük değişikliklerin dışında, her Galaxy S7'de (Qualcomm CPU ile) kullanılan temel yazılım aynıdır.

Galaxy S7 örneğimizi devam ettirmek için, "Touchwiz"in bir kaplama veya başlatıcı olmadığını da hatırlamanız gerekir. BT dır-dir isletim sistemi. Samsung, Google'dan sağlanan temel yazılımı alır ve ihtiyaçlarına daha iyi uyacak şekilde değiştirir. Görünüşü, sahip olduğu özellikler, seçenekler ve ayarların tümü Samsung tarafından oluşturulmuş ve üçüncü taraf uygulamalarının yüklenmesine ve çalıştırılmasına izin verecek şekilde Android'e eklenmiştir. Android kodunun Samsung'un değiştirmediği (veya değiştiremeyeceği) pek çok bölümü vardır çünkü Google, mağazasını ve uygulamalarını kullanmak için bazı şeylerin saklanmasını gerektirir. Bu bölümleri iyileştirmek ve sürdürmek Google'a kalmıştır, ancak işletim sisteminin büyük bir bölümünün yükleneceği belirli donanıma göre optimize edilmesi Samsung'a bırakılmıştır.

optimizasyon nedir?

kaynak kodu

Yazılım optimizasyonu gerekli bir kötülüktür. Zaman alıcı ve zordur. Ancak onsuz, kullanıcı deneyimi zarar görür. Google, Android kodunu donanımdan bağımsız bir düzeyde sürekli olarak optimize eder. Döngü açma, daha az işlev çağrısı kullanma ve belleği daha verimli kullanan rutinler gibi teknikler fayda sağlayan şeylerdir. Her Android çalıştıran cihaz. Ancak Samsung (bizim örneğimizde), toplam talimat yolu uzunluğunu (gerekli CPU döngü sayısı) azaltmak için kullandıkları donanım için bunları daha da ileriye taşımak zorundadır. daha az talimatla azalır) ve bellek ayak izini azaltır, ayrıca kendi özel modelleri için zamanlama ve önbellek optimizasyonu gibi şeyler üzerine inşa eder. İŞLEMCİ. Tüm bunlar, kullanıcıya daha fazla özellik ve işlev eklerken ve Google Play ile uyumluluğu korurken. Genel olarak, süreç şuna benzer:

  • Müşterilerinizin hangi özellikleri istediğine karar verin. Ardından bunların %80'ini atın ve hangi özelliklerin uygulanabilir olduğuna karar verin.
  • Kullanılacak belirli donanımı tanımlayın.
  • Tümü çalışan gerekli özelliklere sahip işletim sisteminin önyüklenebilir bir sürümünü oluşturun.
  • Darboğazları bulun, düzeltmeye çalışın, durulayın ve tekrarlayın.

Bu darboğazları bulmak zordur. Onları düzeltmek daha da zor. Ve tüm bunlarla başa çıkmanın birkaç yolu var. Bunun bir yolu, işletim sistemine ek yük oluşturan özellikler eklememektir, bu da size ters gidebilecek daha az şey verir. 2015 Moto G'nin parladığı yer burasıdır. Çok basit bir yazılıma sahip çok basit bir telefondu. Yetenekli bir ekibin telefonla birlikte gelen yazılımı optimize etmesinden sonra, yılın en akıcı Android deneyimlerinden biriydi — ta ki siz Google Play'den bir avuç dolusu uygulamayı karışıma ekleyene kadar. Daha sonra, içindeki donanımın daha pahalı telefonlar kadar birçok şeyi aynı anda yapamayacağı anlaşıldı. Kullanılan donanım, telefonun ucuz olabilmesi için ucuzdu ve yalnızca işletim sisteminde yazılım optimizasyonu mükemmeldi.

İkinci bir yol ise, herhangi bir önemli özelliği çıkarmadan platformunuzu optimize etmeye devam etmek ve daha iyi donanımın etkiyi en aza indirmeye yardımcı olmasına izin vermektir. Galaxy S7, Samsung'daki yazılım geliştirme ekibinin ilk günden bu yana yaptığı her işin bir ürünü. sorunsuz ve kullanıcı dostu bir şekilde sunmak için yeterince güçlü bir donanım üzerinde çalışan orijinal Galaxy S tanıtıldı. paket. Sonuç, hem endüstri hem de kullanıcılar tarafından evrensel olarak övülen bir telefon oldu. Bellek yönetimi ve tembellik ile ilgili gördüğümüz yanlış adımlar ve Galaxy S6 da dahil olmak üzere hepsi gitti ve sevseniz de sevmeseniz de Performans söz konusu olduğunda bugün satın alabileceğiniz en iyi Android telefonlardan biri olmadığını söyleyemeyeceğiniz son üründen nefret edin.

Bellek yönetimi

RAM yönetimi

Bellek yönetimini ele almadan bu konudan uzaklaşamayız. Bu, ortalıkta dolaşan terimlerden biri çünkü bazı insanlar bazı şeyleri yaparken bir tür sorun görüyor ve çoğunluk dönüyor. Yine de gerçek bir sorun olabilir (ve olmuştur).

İşletim sistemi, RAM'de depolanan uygulamaları ve işlemleri ne zaman kapatacağına (yakın ve arka planda çalışmadığı gibi) karar verir. RAM'e yazmak ve RAM'den okumak hızlıdır — depolamadan yazmaktan ve okumaktan çok daha hızlıdır. Ama sınırlı. 6 GB RAM'e sahip bir telefonun bile en iyi performans için ayarlanmış parametrelere sahip olması gerekir. Ve telefonunuzda kurulu olan RAM'in tamamı işletim sisteminin kullanması için mevcut değildir. Çekirdeğin çalışması, GPU'nun kullanılması ve hücresel radyo için bölümler ayrılmıştır. Önyükleme sırasında, en az 512 MB (veya daha fazla) RAM'in kullanımda olduğunu ve kullanılamadığını görmek yaygın bir durumdur. Bu iyi bir şey - bu işlevlerin CPU'ya "anlık" erişime ihtiyacı var.

Geriye kalanlar katmanlı bir şekilde yönetilir. Bazı uygulamalar ve işlemler diğerlerinden daha yüksek önceliğe sahiptir ve arka planda çalışan diğer, bazen isteğe bağlı şeylerden daha yüksek bir katmana atanırlar. Toplam boş RAM miktarı önceden tanımlanmış bir düzeye düştüğünde, işlemler önceliğe göre öldürülür. Amaç, yeni şeylere başlamak için yeterli alan bırakırken arka planda olabildiğince çok şeyi canlı tutmaktır. Bu yeni şeyler başlarken, yüklemeye yetecek kadar RAM boşaltılır. Ve boş bir arabellek korunur. Bu nedenle, insanların Linux hakkında konuşurken "boş RAM boşa harcanan RAM'dir" dediğini duyarsınız - Android, Linux çekirdeğinin üzerinde çalışır.

Tweaking RAM yönetimi bir deneme yanılma sürecidir. Sonra daha fazla deneme yanılma. Zor.

Tüm bu parametreler (çekirdek için ayrılan alanın dışında), işletim sistemini oluşturan kişiler tarafından ayarlanabilir. Ne kadar RAM'in boş kalması gerektiğine ve her işlem katmanı tarafından ne kadar RAM kullanılabileceğine karar verebilirler. Ayrıca, bölümlerin ağaçta belirli bir katmana atanması için yazılımlarını da yazabilirler. Kullanışlı bir numara, başlatıcıyı - ana ekran(lar)da ve uygulama çekmecesinde gördüklerinizi - her zaman RAM'de tutmaktır. Bu, etkileşimde bulunmak için en çok zaman harcayacağınız şeylerin kullanıcı arayüzünün her zaman RAM ve daha akıcı olacaktır, çünkü kaydırma ve dokunma sırasında bellekten okumak ve RAM'e yazmak için zaman harcanmaz.

Çok fazla veya çok az RAM boş tutulduğunda veya çok fazla şey gerekli olarak "işaretlendiğinde" ve RAM'de yerleşik olarak tutulduğunda sorunlar meydana gelebilir. Bu nedenle, örneğin, bir web sayfasındaki bir forma bir şeyler yazmaya başlayabilir, başka bir uygulamaya geçebilir ve sayfanın yenilenmesi gerektiğinden yazdığınız her şeyin gitmiş olduğunu görmek için geri dönebilirsiniz. Sistem yine de en çok kullandığınız şeyleri RAM'de tutmaya çalışacak, ancak bunu yapamayacak.

Yeterli RAM kurulu olması koşuluyla, bunların tümü düzeltilebilir. Bu, optimizasyon sürecinin başka bir parçasıdır ve doğru olması zordur.

Tüm Androidler eşit yaratılmamıştır

Ve olmalarını istememeliyiz. Yazılım, kullanılan belirli donanıma göre uyarlanmıştır ve deneme yanılma ve Red Bull, optimizasyon sürecinin bir parçasıdır. Bu, her Android telefonu benzersiz kılan ve herkes için bir seçim olanağı sağlayan şeyin bir parçasıdır.

instagram story viewer