Android cihazlar 6 GB RAM'e doğru ilerledikçe kendimize şu soruyu sormalıyız: Gerçekten ne kadar RAM'e ihtiyacımız var? Biz keşfederken bizi takip edin!
Son zamanlarda, 6GB RAM ile gelen Android çalıştıran ilk akıllı telefonlardan birinin duyurularıyla karşılaştık.
6 kahrolası GB! Bu bir mobil cihazda çok fazla RAM demektir.
Sayı oyununu başlatmak Vivo Xplay5 Elit. Vivo bir şirket olarak Çin dışında çok iyi tanınmıyor olabilir, ancak şirket geçmişte gerçekten çok ince akıllı telefonlar üretmişti. Xplay5 Elite ile krallar arasında yer almayı hedefleyen bir cihaza birçok özelliği sığdırmaya çalıştılar.
Vivo Xplay 5 Elite, gövde için metalik bir çerçeve üzerinde çift kavisli 5,43 inç QHD Süper AMOLED ekrana sahiptir. İçeride 2,15 Ghz saat hızına sahip en yeni Qualcomm Snapdragon 820 SoC, Adreno 530 GPU, 6 GB LPDDR4 RAM ve 128 GB genişletilemeyen depolama alanı bulunuyor. Kamera olarak arka tarafta f/2.0 özellikli 16MP Sony IMX298 sensör, ön tarafta ise 8MP kamera bulunuyor. Bu özellikler ve cihazın metalik yapısı göz önüne alındığında, Çinli tüketici için bile oldukça yüksek bir maliyete sahip olması sürpriz olmamalı. 4.288 CNY (660 $) fiyat etiketiyle bu, uygun fiyatlı bir orta sınıf telefondan ziyade kesinlikle bir Çin amiral gemisi.
Vivo Xplay5 Elite şu anda 6 GB RAM'e sahip tek akıllı telefon değil. Daha az bilinen ve yeni kurulan Çinli OEM Vernee, orta menzilli bir cihaz olan Vernee Apollo'yu piyasaya sürerek devasa miktarlardaki RAM'e daha fazla tüketici erişimi sağlamayı hedefliyor.
Vernee Apollo, MediaTek'in üst düzey SoC'si Helio X20'yi taşıyacak. Bahsi geçen 6GB RAM, 128GB dahili depolama, 21MP Sony IMX230 arka kamera ve 5,5" 2K ekran olacak. Bütün bunlarla birlikte Apollo'nun fiyatı 399,99 dolardı. Bize gönderilen basın bilgisinde Çin fiyatından veya hedef pazarlardan bahsedilmiyor, bu nedenle telefon hala bir miktar gizemini koruyor.
Bu telefonların her ikisi de şu soruyu sormamız için bize yalvarıyor: gerçek ihtiyaç şu anda bu kadar RAM mi var?
Bu soruyu cevaplamak için Android'in bellek yönetimini ve RAM'i nasıl işlediğini anlamamız gerekiyor. Mishaal, Android'in bellek yönetiminin inceliklerini açıklayarak harika bir iş çıkardı. önceki bir makaleAltı ay sonra hala geçerliliğini koruyor.
"Android'in bellek yönetimini yönetme şekli şu şekildedir: etkinliği sona erdikten sonra her işlemi hemen sonlandırmak yerine (örneğin, Bir uygulamadan çıkmak için ana sayfa düğmesine bastığınızda), daha fazla bellek boşaltmak için sistemin onu sonlandırması gerekene kadar işlem bellekte tutulur. Sistem hangi süreçlerin tutulacağına ve neyin öldürüleceğine nasıl karar veriyor? LMK (Düşük Bellek Killer) sürücüsü. ActivityManager Hizmeti tarafından her sürece -17 ile 15 arasında değişen bir oom_adj değeri atanır ve oom_adj değerini sürecin önemine göre dinamik olarak ayarlar. Daha yüksek oom_adj değerleri, bellekte yer açmak için işlemin sonlandırılma olasılığının daha yüksek olduğu anlamına gelirken, daha düşük değerler, işlemin sonlandırılma olasılığının daha düşük olduğu anlamına gelir."
"Android, her işlemi, çalışmaya devam etmek için en önemliden en az önemliye doğru beş kategoriye (Ön Plan, Görünür, Hizmet, Arka Plan ve Boş) sınıflandırır. Her kategoriye ait işlemler, kalan boş belleğin farklı düzeylerinde (LMK minimum boş değeri olarak adlandırılır) sonlandırılır. Örneğin cihazınızın LMK minfree değerleri “2560,4090,6144,7168,8192” olarak ayarlanmışsa (4k sayfa olarak listelenmiştir ve /sys/module/lowmemorykiller/parameters/minfree adresinden okunabilmektedir) cihazınız boş hafızanız 32 MB'ın altına düştüğünde 'Boş' olarak tanımlanan işlemleri, boş hafıza 28 MB'ın altına düştüğünde 'Arka Plan' olarak tanımlanan işlemleri ve boş hafıza 28 MB'ın altına düştüğünde Ön plan uygulamalarını sonlandıracaktır. 10 MB (Allah korusun!) Artık, bu minfree değerleri bugünlerde çoğu cihazda tipik değil çünkü üreticiler, cihazlarına en uygun olduğunu düşündükleri şekilde bunları kendi beğenilerine göre ayarlamayı seviyorlar. Ancak bu kısa açıklamadan çıkarmanız gereken şey, ne kadar fazla boş belleğe sahip olursanız, kritik süreçlerin sonlandırıldığını görme ihtimaliniz de o kadar az olur."
Mishaal'ın belirttiği gibi, gerçek değerler OEM'den OEM'e farklılık gösterir, dolayısıyla benzer özelliklere sahip farklı telefonlarda çoklu görev konusunda farklı deneyimler yaşayabilirsiniz. Karışımdaki bir diğer değişken ise cihazdaki bloatware miktarıdır. TouchWiz gibi büyük ölçüde değiştirilmiş Android UX'ler, hisse senedine bağlı olarak Android'in ötesinde birçok özelliği bir araya getirme eğilimindedir AOSP, OEM'in istediği düzeyde çalışabilmesi için sisteme çok daha fazla kaynağın tahsis edilmesini gerektirir. bunu. Bu, 3. taraf uygulamaların önbelleğe alınması için daha az yer bırakır ve bu da düşük bellek tüketimini artırır.
Çoğunlukla Yumuşak
"2 GB RAM'e sahip bir cihaz ile 3 GB RAM'e sahip bir cihaz arasındaki temel fark, cihazın 3 GB RAM'e sahip olmasıdır. RAM'in LMK sürücüsünü tetiklemeden arka planda daha fazla işlemi önbelleğe alabilmesi gerekir."
Dolayısıyla teorik olarak, donanım düzeyinde daha fazla RAM bulunması, işletim sistemi düzeyinde daha fazla işlemin önbelleğe alınmasına ve OEM'in katılabileceği daha büyük bir havuza yol açmalıdır. Ancak çoğu zaman, 2 GB RAM'e sahip cihazlarda bile, sistem ve uygulamalar ihtiyaç duydukları şeye kilitlendikten sonra bile çok daha fazla boş RAM görürsünüz. Mishaal'ın çeşitli cihazlardaki ücretsiz RAM'i karşılaştıran gönderisindeki aynı galeri:
Gördüğünüz gibi, Nexus 5 ve Nexus 6 gibi en hafif kullanıcı arayüzüne sahip cihazlar, cihazda mevcut olan en büyük boş RAM oranına sahiptir. Bunların en ağırı olan 4GB RAM ve TouchWiz'e sahip Samsung Galaxy Note 5'te bile uygulama önbelleğe alma için kullanılabilecek yaklaşık 1,7GB RAM bulunuyor. Bu kadar büyük bir boş RAM havuzuna rağmen Note 5, cihazın agresif bellek işlemeye başvurduğu çoklu görev sorunlarından muzdaripti. Bunun nedeni OEM'in LMK değerlerini seçmesiydi: donanım düzeyinde daha fazla RAM pompalamak işe yaramayacaktır! Not 5'in çoklu görevleri iyileştirmeye yönelik düzeltmesi, aslında bu LMK değerlerinin daha fazla olacak şekilde ayarlanmasını içeriyordu. Samsung'un stok ayarlarından daha çok çoklu görev dostu; bu, odaklanmış bir cihaz için ironik. üretkenlik. Bu nedenle, yalnızca daha fazla RAM'e sahip olmak, cihazı otomatik olarak daha fazla çoklu görev dostu hale getirmeyecektir.
Galeriye tekrar dönersek, görüntülenen boş RAM'in bir kısmı zaten uygulama sürecini önbelleğe almak için kullanılıyor, ancak bunun bir kısmı aslında hiçbir şey yapmadan boşta kalıyor. Burada, görüntülenen boş RAM'i ve ardından önbelleğe alınmış RAM ve boş RAM'e bölünmeyi gösteren OnePlus One cihazımdan bazı ekran görüntüleri var:
Aktif bir oyundan çıkıp önbelleğe alınmış işlemleri görüntüleme seçeneğini seçmem gereken yaklaşık 1 saniyelik küçük bir örnekte bile, sistem kullanılan gerçek RAM'i azaltmaya çalıştı. Bunun nedeni, NFS No Limits adlı oyunun, bu durumda, bir öncelik değişikliğine sahip olması ve Ön Plan sürecinden Arka Plan sürecine geçmesiydi. Aktif kullanımdaki RAM 2,5 GB'tan 1,9 GB'a çıkarken NFS No Limits oyun süreci önbelleğe alındığından, bu, işletim sisteminin her zaman sorunsuz çalışmasını sağlamak amacıyla yapıldı. Oyunun önceliği değiştikçe, işletim sisteminin gerçekten daha fazla boş RAM'e ihtiyacı varsa artık öldürülebilir. Burada herhangi bir kullanıcı etkileşimi gerekli değildir.
Bu örneğin amacı, Android'in bellek yönetiminin, sistemi ve tüm süreçlerini önceliklendirmede nasıl daha verimli hale geldiğini vurgulamaktı. Herhangi bir zamanda önbellekte kalacak çok fazla uygulama vardır: İşletim sistemi ideal olarak önbellekleme işlemlerinde boş RAM'in tamamını kullanmaz. Boş RAM'in bir kısmı boşta bırakılır. Bu, bir işlemin RAM kullanımını çok hızlı bir şekilde artırmasının gerekebileceği durumlar için tasarım gereğidir.
OEM tarafından yine tek tek telefonlar için tanımlandığı gibi, uygulama işlemleri için de bir RAM ayırma sınırı vardır. Bir göre eski tartışma yazısı Yazan: Dianne Hackborn, Android Çerçeve Mühendisi, Java yığını çöp toplama başlatılmadan önce Java nesnelerinin bulunacağı yer, ancak bu bile NDK'nın akıllıca kullanılmasıyla genişletilebilir. Basit bir ifadeyle bu, o cihazda çalıştırmak isteyen herhangi bir uygulamanın kullanabileceği RAM'de maksimum bir sınır olduğu anlamına gelir. Eski cihazlar için bu yığın 24 MB olarak ayarlandı ancak yeni cihazlarda, cihazlardaki RAM artışı ve artan donanım talepleri sayesinde boyut artırıldı. Android'ler Uyumluluk Tanımı Belgesi için Android 6.0 bu yığınların OEM tarafından ayarlanması gereken minimum değerlerden bahseder (Bölüm 3.7). Karşılaştırma yapmak gerekirse, CM12.1'deki OnePlus One cihazım normal Dalvik VM yığınları için 192 MB'lık bir sınıra sahiptir ve uygulama bildirimlerinde android: LargeHeap=true ifadesini belirten uygulamalar için 512 MB'a kadar izin verir. Teorik olarak tek bir uygulama cihazımda yalnızca 512 MB'a kadar RAM kullanabilir. Bunun ötesinde, diğer gerekli sistem süreçlerinin serbest akışını sağlamak için çöp toplama işlemi başlatılacaktır.
Şimdi uygulamalar için yığın boyutu sınırını, önceliklerine ve İşletim sisteminin belirli miktarda boş RAM'i boşta tutma ısrarı ve Android'in çoklu görevlerinin nasıl olduğunu hayal edebilirsiniz. İşler. Bu, donanım, yazılım ve uygulamanın kendisi arasında pek çok değişkeni içeren karmaşık bir mekanizmadır; En temel cihazların bile çalışmasına izin verirken en iyi amiral gemilerinin teorik olarak potansiyellerinden mutlak şekilde yararlanmasına izin verecek şekilde ince ayar yapılmıştır. Pratik olarak bu mükemmel bir dünya değil, dolayısıyla bunların ikisi de olmuyor. Bu, 4 GB RAM'e sahip bir cihazın 4 GB RAM'e sahip başka bir cihazla eşit şekilde çalışacağının garantisi olmadığı anlamına gelir. Bu, belirli bir eşiğin ötesinde fazladan GB RAM'in çoklu görevlerde ve bellek kullanımında doğrudan orantılı bir artış sağlayacağı anlamına da gelmez.
Pratik ve Gelecek
Yani asıl soruya dönersek, 2016'nın başlarında cihazlarınızda gerçekten 6 GB RAM'e ihtiyacınız var mı? Benim için cevap hayır.
Sahip olduğum cihazların çoğunda 3 GB LPDDR3 RAM var ve bir tanesinde 4 GB RAM var. Çoklu görev söz konusu olduğunda performansta gözle görülür bir fark yoktur. İşte son OnePlus X incelememden, 3 GB RAM'e ve stoklara yakın Android ROM'a sahip bir cihazdan çoklu görev demosu:
Cihazda, bu uygulamalardan herhangi birini kapatmak zorunda kalmadan 12 uygulama (aktif ekran kaydediciyi sayarsanız 13) arasında geçiş yapmada herhangi bir sorun yaşanmadı. Yeniden yükleme veya yeniden çizim olmadı ve bu deneyim, herhangi bir yeniden başlatma veya manuel uygulama sonlandırması olmadan günlük kullanım boyunca şaşırtıcı derecede tutarlı kalıyor. Normal bir tüketicinin pratik kullanım sırasında bu kadar çok uygulama arasında aktif olarak geçiş yapmasına gerek yoktur!
Peki ya kullanıcı bunun yerine bu kadar çok oyun arasında geçiş yapmak isterse? Kabul ediyorum, yukarıda belirtilen faktörler, en iyi ihtimalle yalnızca birkaç oyun arasında geçiş yapılmasına izin verecek şekilde devreye girecektir. Böyle bir durumda, daha fazla fiziksel RAM'e sahip olmak, cihazın daha fazla oyunu pasif olarak hafızasında tutmasına olanak tanıyacaktır. Ancak bu avantaja karşı bir karşı nokta, birçok oyunun çoklu görev sırasında sıklıkla kendilerini yeniden yükleme yapmasıdır! Amaçları, hile mekanizmalarının oyun çalışırken oyun verilerini manipüle etmesini önlemektir, bu nedenle yeniden yükleme/yeniden eşitleme/yenileme, bütünlük kontrollerinin yeniden devreye girmesini sağlar. Niyetleri farklıdır, ancak bu, birçok oyunu adayların çoklu görev yapma konusunda zayıf olmasına neden olur.
Tüm bu muhteşem RAM'den yararlanmanızı engelleyecek başka faktörler de var. Cihazınızın 6 GB LPDDR4 RAM'inin tamamını gerektiren bir görev/birkaç görevin birleşimini bulursanız, mobil SoC biçiminde çok daha büyük bir darboğazla karşı karşıya kalırsınız. Kabul edelim, Snapdragon 820 ve Helio X20 kendi şirketlerinin amiral gemisi işlemcileri olabilir, ancak bunlar hâlâ mobil SoC'lerdir. Bu nedenle, ısı üretimi, ısı dağıtımı, termal kısma ve pil gibi başka sınırlamaları da vardır. uzun bir süre boyunca çok fazla RAM kullanacak kadar yoğun görevler için onları kötü seçimler haline getirecek hayat zaman. Bu gibi durumlarda elinizde tutulması amaçlanmayan bir sistemi kullanmak daha iyidir; üretebileceği ısı ve tüketebileceği güç konusunda daha liberal sınırlara sahip olan bir sistem.
Günün sonunda, ne kadar boş RAM'iniz olursa olsun, uygulamalar yine de atılacaktır. Bellek yönetimi böyle çalışır. Yığın boyutunun daha da artmasının yardımcı olacağı gibi, RAM'i büyük kullanmanın hâlâ avantajları var. bitmap varlıklarını güçlendirme Daha yüksek çözünürlüklü ekranlarda, cihazlarımızda QHD çözünürlüklerin ötesine geçmemizi sağlıyor. Pazar genelinde bir trend olarak yığın boyutunun artması, daha fazlasını yapmayı arzulayan uygulamaların ortaya çıkmasına yol açacaktır. RAM dokunulmaz olarak kilitlenmediği sürece, her zaman bir şekilde veya başka bir kullanım alanı olacaktır. Ancak amiral gemilerinde ekranların 1080p ile 1440p arasında gezindiği göz önüne alındığında, 4GB'ı bir veya iki yıl daha makul bir standart olarak görebiliriz.
Sonuç olarak şu soruya cevap vereceğiz: Yapıyor muyuz? gerçek ihtiyaç şu anda bu kadar RAM mi var? Hayır, yapmıyoruz. Fiyatın düşük tutulması gereken faktörlerden biri olduğu cihazlar için 3GB veya 4GB RAM onlara yeterince hizmet edecektir. Fiyatlara pek önem vermeyen kullanıcıların talebi olan amiral gemileri için bunun geleceğe yönelik bir etkisi olmaz. Bir müşteri olarak, henüz bu RAM'in tamamını kullanmayacağınızı unutmayın.
6 GB RAM'e sahip telefonlar hakkında düşünceleriniz neler? Aşağıdaki yorumlarda düşüncelerinizi bize bildirin!