Programer aplikasi Android pun cukup menulis aplikasi sekali saja dalam Java, kemudian virtual machine akan menjalankannya di sistem manapun, tanpa harus ditulis dan dikompilasi ulang.
Masalahnya, karena harus menangani kode Java original aplikasi, kode hasil translasi, berikut proses emulasinya sendiri, virtual machine ini kompleks dan membutuhkan memori serta sumberdaya besar.
Selain itu, di Java, memori yang sudah tidak terpakai lagi oleh aplikasi harus didaur ulang lewat proses yang dikenal sebagai Garbage Collection, supaya bisa dipakai oleh aplikasi lain.
Supaya bisa berjalan efektif, Garbage Collection membutuhkan RAM dalam jumlah besar.
Baca juga: Penyanyi Ini Dulu Terkenal dan Kaya Raya, Sekarang Jadi Tukang Angkut Sampah untuk Bertahan Hidup
Kalau RAM yang tersedia tidak mencukupi, maka perangkat akan terlalu sering mendaur ulang memori sehingga menurunkan kinerja.
Virtual machine Java dan proses manajemen memori inilah yang menyebabkan pabrikan Android seringkali menanam RAM berkapasitas besar, untuk memastikan perangkatnya bisa berjalan mulus.
Proses virtual machine Android sebenarnya sudah ditingkatkan sehingga tidak lagi menyita banyak sumber daya seperti dulu.
Namun aplikasi-aplikasi Android juga berkembang menjadi lebih besar dan kompleks sehingga membutuhkan lebih banyak memori.
Baca juga: Rumor Spesifikasi Realme GT 5G Master Edition Bocor, Seberapa Gahar?
iOS hanya untuk Apple
Di sisi lain, iOS tidak mengalami masalah serupa dengan manajemen memorinya.
Sejak awal sistem operasi berikut aplikasi-aplikasinya ditulis dan dikompilasi secara native menggunakan bahasa pemrograman Swift (dulu Objective-C).
Kode native ini kemudian dieksekusi secara langsung oleh hardware sehingga iOS tidak membutuhkan virtual machine ala Java yang boros memori.
Sebab, iOS dan aplikasinya memang dirancang hanya bisa berjalan di perangkat buatan Apple saja, tak harus mengakomodir berbagai macam perangkat dengan konfigurasi hardware berbeda-beda seperti Android.
Selain itu, proses manajemen memori aplikasi antara kedua OS juga berbeda.
Di Android, manajemen memori dilakukan oleh sistem operasi.