Reklamı Kapat

Telefonların sorunsuz çoklu görevler için ihtiyaç duyduğu ideal RAM miktarı oldukça tartışılan bir konudur. Apple, iPhone'larında genellikle Android çözümlerinden daha kullanışlı olan daha küçük bir boyuta sahip. Ayrıca iPhone'da herhangi bir RAM bellek yönetimi bulamazsınız, oysa Android'in bunun için kendi özel işlevi vardır. 

Örneğin, Samsung Galaxy telefonlarına giderseniz Ayarlar -> Cihaz bakımı, burada ne kadar boş alan olduğu ve ne kadar yer kapladığı hakkında bilgi içeren bir RAM göstergesi bulacaksınız. Menüye tıkladıktan sonra her uygulamanın ne kadar hafıza kapladığını görebilir, ayrıca burada hafızayı temizleme seçeneğine de sahipsiniz. RAM Plus işlevi de burada bulunur. Bunun anlamı, sanal bellek için kullanacağı dahili depolama biriminden belirli sayıda GB'yi ısırmasıdır. İOS'ta buna benzer bir şey hayal edebiliyor musunuz?

Akıllı telefonlar RAM'e bağlıdır. Onlara işletim sistemini depolama, uygulamaları başlatma ve ayrıca bazı verilerinin önbellek ve ara bellekte saklanmasına hizmet eder. Bu nedenle RAM'in, uygulamaları arka plana atıp bir süre sonra tekrar açsanız bile sorunsuz çalışabilecek şekilde düzenlenmesi ve yönetilmesi gerekir.

Swift vs. Java 

Ancak yeni bir uygulamayı başlatırken, onu yüklemek ve çalıştırmak için hafızada boş alana sahip olmanız gerekir. Aksi takdirde yerin boşaltılması gerekir. Bu nedenle sistem, halihazırda başlamış uygulamalar gibi çalışan bazı işlemleri zorla sonlandıracaktır. Ancak her iki sistem, yani Android ve iOS, RAM ile farklı şekilde çalışır.

İOS işletim sistemi Swift ile yazılmıştır ve iPhone'ların aslında kapalı uygulamalardaki kullanılmış belleği sisteme geri dönüştürmesine gerek yoktur. Bunun nedeni iOS'un geliştirilme şeklidir, çünkü Apple yalnızca iPhone'larında çalıştığı için iOS üzerinde tam kontrole sahiptir. Buna karşılık Android, Java ile yazılmış ve birçok cihazda kullanılıyor, dolayısıyla daha evrensel olması gerekiyor. Uygulama sonlandırıldığında kapladığı alan işletim sistemine iade edilir.

Yerel kod vs. JVM 

Bir geliştirici bir iOS uygulaması yazdığında, onu doğrudan iPhone'un işlemcisinde çalışabilecek bir kod halinde derler. Bu koda yerel kod denir çünkü çalıştırılması için herhangi bir yorum veya sanal ortam gerektirmez. Android'de ise durum farklı. Java kodu derlendiğinde işlemciden bağımsız olan Java Bayt Kodu ara koduna dönüştürülür. Bu nedenle farklı üreticilerin farklı işlemcilerinde çalışabilir. Bunun platformlar arası uyumluluk açısından büyük avantajları vardır. 

Tabii bunun bir de dezavantajı var. Her işletim sistemi ve işlemci birleşimi, Java Sanal Makinesi (JVM) olarak bilinen bir ortama ihtiyaç duyar. Ancak yerel kod, JVM aracılığıyla yürütülen koddan daha iyi performans gösterir; dolayısıyla JVM'nin kullanılması, uygulamanın kullandığı RAM miktarını artırır. Yani iOS uygulamaları ortalama %40 oranında daha az bellek kullanıyor. Bu aynı zamanda Apple'ın iPhone'larını Android cihazlarda olduğu kadar RAM ile donatmak zorunda kalmamasının nedeni de budur. 

.