Jumlah RAM yang ideal yang diperlukan oleh telefon untuk menjalankan pelbagai tugas yang lancar adalah topik yang diperdebatkan. Apple bertahan dengan saiz yang lebih kecil dalam iPhonenya, yang selalunya lebih boleh digunakan daripada penyelesaian Android. Anda juga tidak akan menemui sebarang jenis pengurusan memori RAM pada iPhone, sedangkan Android mempunyai fungsi khusus untuk ini.
Jika anda pergi, sebagai contoh, dalam telefon Samsung Galaxy ke tetapan -> Penjagaan peranti, anda akan menemui penunjuk RAM di sini dengan maklumat tentang berapa banyak ruang yang kosong dan berapa banyak yang diduduki. Selepas mengklik pada menu, anda boleh melihat berapa banyak memori yang diambil oleh setiap aplikasi, dan anda juga mempunyai pilihan untuk mengosongkan memori di sini. Fungsi RAM Plus juga terdapat di sini. Maksudnya ialah ia akan menggigit sejumlah GB daripada storan dalaman, yang akan digunakan untuk memori maya. Bolehkah anda bayangkan sesuatu seperti ini pada iOS?
Telefon pintar bergantung pada RAM. Ia berfungsi untuk menyimpan sistem pengendalian, untuk melancarkan aplikasi dan juga untuk menyimpan beberapa data mereka dalam cache dan memori penimbal. Oleh itu, RAM mesti disusun dan diuruskan sedemikian rupa sehingga aplikasi boleh berjalan dengan lancar, walaupun anda meletakkannya ke latar belakang dan membukanya semula selepas beberapa ketika.
Swift lwn. Jawa
Tetapi apabila memulakan aplikasi baharu, anda perlu mempunyai ruang kosong dalam memori untuk memuatkan dan menjalankannya. Jika ini tidak berlaku, tempat itu mesti dikosongkan. Oleh itu sistem akan secara paksa menamatkan beberapa proses yang sedang berjalan, seperti aplikasi yang telah dimulakan. Walau bagaimanapun, kedua-dua sistem, iaitu Android dan iOS, berfungsi secara berbeza dengan RAM.
Sistem pengendalian iOS ditulis dalam Swift, dan iPhone sebenarnya tidak perlu mengitar semula memori yang digunakan daripada aplikasi tertutup kembali ke dalam sistem. Ini disebabkan oleh cara iOS dibina, kerana Apple mempunyai kawalan penuh ke atasnya kerana ia hanya berjalan pada iPhonenya. Sebaliknya, Android ditulis dalam Java dan digunakan pada banyak peranti, jadi ia mestilah lebih universal. Apabila aplikasi ditamatkan, ruang yang diambilnya dikembalikan kepada sistem pengendalian.
Kod asli lwn. JVM
Apabila pembangun menulis apl iOS, mereka menyusunnya terus ke dalam kod yang boleh dijalankan pada pemproses iPhone. Kod ini dipanggil kod asli kerana ia tidak memerlukan tafsiran atau persekitaran maya untuk dijalankan. Android, sebaliknya, berbeza. Apabila kod Java disusun, ia ditukar kepada kod perantaraan Java Bytecode, yang bebas pemproses. Oleh itu, ia boleh dijalankan pada pemproses yang berbeza daripada pengeluar yang berbeza. Ini mempunyai kelebihan besar untuk keserasian merentas platform.
Sudah tentu, terdapat juga kelemahan. Setiap gabungan sistem pengendalian dan pemproses memerlukan persekitaran yang dikenali sebagai Java Virtual Machine (JVM). Tetapi kod asli berprestasi lebih baik daripada kod yang dilaksanakan melalui JVM, jadi menggunakan JVM hanya meningkatkan jumlah RAM yang digunakan oleh aplikasi. Jadi apl iOS menggunakan kurang memori, secara purata 40%. Itulah sebabnya Apple tidak perlu melengkapkan iPhonenya dengan RAM sebanyak yang dilakukannya dengan peranti Android.
Saya bukan pakar, tetapi saya akan menerangkan perspektif saya dari perspektif pengguna yang telah menggunakan android selama 15 tahun dan kini 2 bulan menggunakan iPhone 13 mini. Pada android dengan memori 8GB (terbaru Samsung S21, Flip3) saya biasanya kembali selepas masa tertentu ke aplikasi yang dilancarkan sebelum ini dan ia masih dimuatkan dalam RAM, jadi ia tidak bermula sekali lagi dan saya boleh dengan lancar mengambil tempat saya tertinggal. Sebaliknya, walaupun dengan memori 8GB, saya "menembak jatuh" semua aplikasi sekali seminggu untuk membersihkan RAM, kerana sistem mula perlahan dengan memori penuh. Saya tidak mempunyai masalah untuk memperlahankan iPhone, tetapi sebaliknya, saya harus mengatakan bahawa apabila menggunakan aplikasi yang hampir sama, sebaliknya, ia kerap berlaku kepada saya bahawa apabila saya kembali ke aplikasi yang dilancarkan sebelum ini, ia dimuatkan semula sepenuhnya dan saya tidak dapat meneruskan dengan lancar di tempat saya berhenti.
Pilihan mana yang lebih baik? Sukar untuk dikatakan… Membunuh apl pada android dan mengosongkan RAM memerlukan dua klik. Memuatkan keseluruhan aplikasi sekali lagi pada iPhone tidak begitu memakan masa, jadi tidak mengapa... Sudah tentu, adalah ideal untuk mempunyai lebih banyak RAM pada iPhone dan berbilang tugas seperti pada Android :-D
Sial, bodoh lagi. Untuk satu perkara, Android sudah lama tidak dilakukan di Java, itulah gunanya Kotlin. Pengumpul sampah bertanggungjawab ke atas memori, yang paling mudah dalam iOS, yang wujud walaupun dengan kelemahannya. Keseluruhannya ialah iOS membunuh aplikasi sebaik sahaja anda mengeluarkannya dari skrin. Ini membebaskan memori seperti pada linux apabila anda menaip kill pid sesuatu proses. Itulah sebabnya ia mengambil masa yang lama untuk membuka penyemak imbas dan kembali ke kerja sebelumnya. Artikel ini ialah terjemahan verbatim artikel berusia X tahun oleh fanatik iOS tanpa pengetahuan pengaturcaraan. Ya, sudah tentu, pengurusan memori terutamanya tanggungjawab pengaturcara, apa yang dilakukan oleh aplikasi. Jika dia batuk, terdapat kebocoran memori di dunia dan pqk anda boleh mempunyai X Gb memori dan ia masih tidak berguna. Dan pada masa apabila banyak aplikasi hanya WebView, ini sangat mudah, kerana ia sendiri memakan apa yang boleh. Pasal mengarut, sampah.
Android tidak lagi menggunakan jvm, tetapi dvm. Dan sebagai tambahan, ia kemudian menyusunnya menjadi boleh laku asli
Java masih dalam Android.