Jumlah RAM ideal yang dibutuhkan ponsel untuk kelancaran multitasking masih menjadi topik perdebatan. Apple bertahan dengan ukuran yang lebih kecil pada iPhone-nya, yang seringkali lebih berguna dibandingkan solusi Android. Anda juga tidak akan menemukan manajemen memori RAM apa pun di iPhone, padahal Android memiliki fungsi khusus untuk ini.
Jika Anda pergi, misalnya, di ponsel Samsung Galaxy ke Sekarang -> Perawatan perangkat, Anda akan menemukan indikator RAM di sini dengan informasi tentang berapa banyak ruang yang kosong dan berapa banyak yang terisi. Setelah mengklik menu, Anda dapat melihat berapa banyak memori yang digunakan setiap aplikasi, dan Anda juga memiliki opsi untuk mengosongkan memori di sini. Fungsi RAM Plus juga terletak di sini. Artinya, ia akan menghabiskan sejumlah GB tertentu dari penyimpanan internal, yang akan digunakannya untuk memori virtual. Bisakah Anda membayangkan hal seperti ini di iOS?
Smartphone mengandalkan RAM. Ini berfungsi untuk menyimpan sistem operasi, untuk meluncurkan aplikasi dan juga untuk menyimpan beberapa datanya dalam cache dan memori buffer. Oleh karena itu, RAM harus diatur dan dikelola sedemikian rupa sehingga aplikasi dapat berjalan dengan lancar, meskipun Anda meletakkannya di latar belakang dan membukanya kembali setelah beberapa saat.
Cepat vs. Jawa
Namun saat memulai aplikasi baru, Anda perlu memiliki ruang kosong di memori untuk memuat dan menjalankannya. Jika tidak, maka tempat tersebut harus dikosongkan. Oleh karena itu, sistem akan menghentikan secara paksa beberapa proses yang sedang berjalan, seperti aplikasi yang sudah dimulai. Namun, kedua sistem, yaitu Android dan iOS, bekerja secara berbeda dengan RAM.
Sistem operasi iOS ditulis dalam Swift, dan iPhone sebenarnya tidak perlu mendaur ulang memori yang digunakan dari aplikasi yang ditutup kembali ke sistem. Hal ini disebabkan cara iOS dibuat, karena Apple memiliki kendali penuh atas iOS karena hanya berjalan di iPhone-nya. Sebaliknya, Android ditulis dalam Java dan digunakan di banyak perangkat, sehingga harus lebih universal. Ketika aplikasi dihentikan, ruang yang diperlukan dikembalikan ke sistem operasi.
Kode asli vs. JVM
Saat pengembang menulis aplikasi iOS, mereka mengompilasinya langsung menjadi kode yang dapat dijalankan di prosesor iPhone. Kode ini disebut kode asli karena tidak memerlukan interpretasi atau lingkungan virtual untuk dijalankan. Android, di sisi lain, berbeda. Ketika kode Java dikompilasi, kode tersebut diubah menjadi kode perantara Java Bytecode, yang tidak bergantung pada prosesor. Oleh karena itu, ia dapat berjalan pada prosesor berbeda dari pabrikan berbeda. Ini memiliki keuntungan besar untuk kompatibilitas lintas platform.
Tentu saja ada juga sisi negatifnya. Setiap kombinasi sistem operasi dan prosesor memerlukan lingkungan yang dikenal sebagai Java Virtual Machine (JVM). Namun kinerja kode asli lebih baik daripada kode yang dieksekusi melalui JVM, jadi penggunaan JVM hanya meningkatkan jumlah RAM yang digunakan oleh aplikasi. Jadi aplikasi iOS menggunakan lebih sedikit memori, rata-rata 40%. Itu juga mengapa Apple tidak perlu membekali iPhone-nya dengan RAM sebanyak yang dimiliki perangkat Android.
Saya bukan ahlinya, tapi saya akan menjelaskan perspektif saya dari sudut pandang pengguna yang telah menggunakan Android selama 15 tahun dan sekarang sudah 2 bulan menggunakan iPhone 13 mini. Di android dengan memori 8GB (terbaru Samsung S21, Flip3) saya biasanya kembali setelah waktu tertentu ke aplikasi yang diluncurkan sebelumnya dan masih dimuat di RAM, sehingga tidak memulai dari awal lagi dan saya dapat melanjutkan dengan lancar di mana saya tinggalkan. Di sisi lain, meski dengan memori 8GB, saya "menembak" semua aplikasi seminggu sekali untuk mengosongkan RAM, karena sistem mulai melambat dengan memori penuh. Saya tidak memiliki masalah dengan perlambatan pada iPhone, tetapi di sisi lain, saya harus mengatakan bahwa ketika menggunakan aplikasi yang hampir sama, sebaliknya, sering terjadi pada saya ketika saya kembali ke aplikasi yang diluncurkan sebelumnya, itu dimuat sepenuhnya lagi dan saya tidak dapat melanjutkan dengan lancar dari bagian terakhir yang saya tinggalkan.
Pilihan mana yang lebih baik? Sulit dikatakan… Mematikan aplikasi di Android dan membersihkan RAM hanya dalam dua klik. Memuat kembali seluruh aplikasi di iPhone tidak memakan waktu lama, jadi tidak terlalu menjadi masalah... Tentu saja, akan ideal jika memiliki lebih banyak RAM di iPhone dan multitasking seperti di Android :-D
Sial, itu bodoh lagi. Untuk satu hal, Android sudah lama tidak hadir di Java, itulah gunanya Kotlin. Pengumpul sampah bertanggung jawab atas memori, yang merupakan yang paling sederhana di iOS, bahkan dengan kekurangannya. Masalahnya adalah iOS mematikan aplikasi segera setelah Anda menghapusnya dari layar. Ini membebaskan memori seperti di linux saat Anda mengetik kill pid suatu proses. Itu sebabnya butuh waktu lama untuk membuka browser dan kembali ke pekerjaan sebelumnya. Artikel ini adalah terjemahan kata demi kata dari artikel berusia X tahun oleh seorang fanatik iOS yang tidak memiliki pengetahuan pemrograman. Ya, tentu saja, manajemen memori terutama merupakan tanggung jawab pemrogram, apa yang dilakukan aplikasi. Jika dia batuk, ada kebocoran memori di dunia dan pqk Anda dapat memiliki memori X Gb dan itu masih tidak berguna. Dan pada saat banyak aplikasi hanya berupa WebView, ini sangat sederhana, karena aplikasi itu sendiri memakan apa yang bisa dilakukannya. Artikel itu tidak masuk akal, sampah.
Android tidak lagi menggunakan jvm, melainkan dvm. Dan sebagai tambahan, ia kemudian mengkompilasinya menjadi executable asli
Java masih di Android.