Sebab Mengapa Android Punyai Lebih Banyak RAM Berbanding iOS

Seakan merasakan perkara wajib telefon pintar Android mempunyai jumlah RAM yang lebih banyak berbanding iOS. Malah ada yang melampau-lampau jumlahnya sehingga 10GB RAM. Itupun masih tak cukup. Rasanya paling banyak sekarang ni ialah 12GB RAM. Cukup banyak. Lebih banyak daripada yang digunakan dalam purata kebanyakan laptop yang hanya mempunyai 8GB RAM.

Sering menjadi pertanyaan ketika pengetahuan saya masih amatur dalam dunia teknologi. Jumlah RAM dilihat sebagai spesifikasi hebat dalam sesebuah alat elektronik. Peranti yang mempunyai RAM yang lebih tinggi dikatakan mempunyai prestasi yang lebih bagus. Industri pemasaran telefon pintar juga seolah mengiya-iyakan perkara yang sama. Terutamanya dari aspek bagaimana gigihnya mereka mempromosi dan meyakinkan pengguna bahawa jumlah RAM yang tinggi adalah telefon yang lebih baik.

Benarkah? Jumlah RAM yang lebih banyak lebih bagus? Kalau begitu, mengapa hanya Android sahaja yang menggunakan limpahan saiz RAM sedangkan iOS hanya bersenang-lenang dengan jumlah yang lebih kecil. Dan prestasi telefon iOS lebih bagus daripada kebanyakan telefon Android!

Adakah Android perlukan RAM yang banyak? Atau iOS hanya memerlukan RAM yang sedikit? Yang mana satu? Artikel kali ini, saya akan menerangkan mengapa Android memerlukan RAM yang banyak dan hubung kait mereka dalam telefon pintar.

Jumlah minimum RAM untuk telefon pintar


Tiada jumlah spesifik RAM yang diperlukan dalam penghasilan sesebuah telefon pintar. Ini adalah disebabkan, umumnya ia bergantung pada 2 jenis situasi. Yang pertamanya, ia bergantung kepada sistem operasi yang digunakan - Android atau iOS. Yang keduanya adalah kelas apakah telefon pintar tersebut - flagship, pertengahan, bawahan.

Kelas flagship kebiasaannya menggunakan jumlah RAM yang lebih tinggi berbanding kelas pertengahan dan juga bawahan. CPU kelas flagship juga lebih berkuasa berbanding kelas bawahannya. Jadi, tugas-tugas yang diberikan akan dilaksanakan dengan pantas. Ini akan membuatkan pengguna ingin menambah tugas-tugas lain. Di sinilah RAM yang tinggi memainkan peranan penting. Kelas pertengahan dan bawahan tidak perlu sangat pun jumlah RAM yang tinggi, CPU mereka kurang berkuasa. Kerja belum siap, nak tambah kerja-kerja lain pulak ya.

Kenapa Android perlukan lebih banyak RAM berbanding iOS


Dan kita sudah sampai ke topik utama kita dalam artikel ini. Mengapa Android perlukan lebih banyak RAM berbanding iOS. Ada beberapa faktor yang menjelaskan situasi tersebut dan ianya lebih berkaitan dengan isu teknikal sistem operasi Android itu tersendiri.

Android berfungsi secara emulator


Android adalah sangat berlainan dari iOS terutamanya dari segi penciptaan asas bagaimana mereka berfungsi. Android merupakan sistem operasi yang mengamalkan open source. Apa yang terjadi jika adalah, penciptaan Android adalah bertujuan untuk dipasang untuk berbagai-bagai peranti yang berbeza-beza cip pemprosesan, jenama, dan juga variasi sokongan perkakas.

Kebiasaannya, perisian yang dikhaskan untuk satu jenis sistem tidak boleh 'berjalan' jika diletakkan kepada kepada sistem yang lain. Kodnya terpaksa ditulis semula untuk menyesuaikan bahagian yang tidak serasi.

Android menggunakan Java untuk melakukan penyalinan tersebut. Virtual Machine dalam Java membolehkan anda menulis program dalam Java dan kemudiannya ia akan diterjemah kepada mana-mana peranti Android yang dikehendaki. Macam sulit tapi sebenarnya semua ini diuruskan oleh Java sendiri secara bijaknya dan kita tak sedar pun perkara itu berlaku dalam telefon kita.

Building Java Programs Kapsyen: Bagaimana virtual machine digunakan dalam Java


Tapi itulah, Java juga turut mendatangkan pakej 'sakit kepala'. Ia merupakan suatu sistem yang kompleks dan memerlukan banyak RAM untuk menjalankan proses yang berlaku dalam virtual machine, kod asli Java yang akan diterjemah, dan juga kod yang telah diterjemah. Kesemua proses ini hanya akan berjalan dengan efektif jika Android mempunyai RAM yang cukup. Dimana, RAM yang cukup dalam konteks sistem operasi Android adalah jumlah RAM yang tinggi.

Walau bagaimanapun, evolusi virtual machine dalam Android telah bertambah baik dan tidak memerlukan RAM sebanyak yang diperlukan seperti dahulu. Akan tetapi, sistem operasi Android juga turut bertambah maju dengan fungsi-fungsi yang semakin bertambah.

RAM yang dahulunya diperlukan untuk memberi laluan kepada virtual machine kini digunakan untuk fungsi Android yang berbagai-bagai. Tambahan juga, Android terkenal dengan penggunaan aplikasi yang banyak sekaligus terutamanya untuk pengguna heavy. Justeru, perletakan jumlah RAM yang banyak adalah lebih efektif digunakan kepada pengguna-pengguna sedemikian.

Android menggunakan kaedah Garbage Collection


Java mempunyai satu ciri pengurusan memori yang dinamakan garbage collection (GC). Garbage collection ini merupakan satu proses automatik yang digunakan untuk membuang 'objek' yang sudah tidak digunakan lagi daripada memori.

Mungkin anda tertanya-tanya 'objek' apakah yang dimaksudkan disini? Objek yang dimaksudkan adalah data yang mempunyai fungsi tersendiri yang dihasilkan dalam bahasa pengekodan. Ketika sesuatu aplikasi berjalan dalam telefon, aplikasi tersebut akan mencipta banyak objek. Sampai satu masa, ada antara objek-objek ini sudah tidak lagi digunakan oleh memori dan sudah sampai masa untuk membuangnya.

Image result for object in programming Kapsyen: Objek merupakan 'data' dalam programing yang mempunyai nilainya tersendiri


Jadi di sinilah datangnya ciri garbage collection tersebut. GC akan membantu menyingkirkan objek dari memori. Ini akan menjadikan RAM boleh digunakan oleh proses dan aplikasi lain. Walau bagaimanapun, fungsi GC yang kerap akan menyebabkan CPU terpaksa bekerja keras, dan juga akan memberhentikan aplikasi tersebut. Maksudnya? Telefon akan menjadi lag, freeze, hang dan segala-galanya lagi yang membantutkan penggunaan harian anda.

Ini adalah penyebab utama mengapa Android perlukan penggunaan RAM yang besar. Peranti anda akan kurang mengalami masalah tersebut kerana GC berfungsi dengan lebih efisien jika jumlah RAMnya mencukupi.

Adakah iOS juga menggunakan emulator?


Yang pertamanya, Apple mempunyai suasana sistem operasi yang sangat terkawal. Apple tahu spesifikasi apa yang mahu diletakkan dalam iPhone binaan mereka. Jadi, mereka boleh membuat keputusan yang lebih berkesan dan bijak. Seperti contoh, Android menyokong berbagai telefon dengan begitu banyak jenis cip pemprosesan (Intel, Snapdragon dan lain-lain), dimana iOS pula hanya berjalan untuk satu jenis cip sahaja dari dahulu, iaitu cip yang berasaskan kejuruteraan ARM.

Cara ini, iOS tidak memerlukan emulator untuk menterjemah bahasa pengekodan seperti Android. Kod iOS akan diproses secara lahiriah tanpa memerlukan bantuan pihak lain. Hasilnya, ciri virtual machine tidak perlu digunakan dalam iOS menjadikan jumlah RAM yang digunakan adalah kecil.

Jika Android guna GC, iOS guna apa?


Seperti yang telah dibincangkan, GC dalam Android akan berfungsi dengan lebih efisien dengan jumlah RAM yang besar. Tapi itu Android, bagaimana pula dengan pengurusan memori iOS?

iOS tidak menggunakan Java dalam sistem operasi mereka. Sebaliknya ia menggunakan bahasa Objective C dan C. Lain kod pengaturcaraan, lainlah juga cara pengurusan memori mereka. Dalam Objective-C dan C pada iOS, pengurusan memori mereka diuruskan oleh satu fungsi digelar Automatic Counting Reference (ARC).

Ringkasnya, boleh dikatakan ARC dalam iOS berfungsi sedikit berlainan daripada GC pada Android. Perbezaan utamanya adalah, ARC tidak berfungsi di sebalik tabir sebagaimana GC sebaliknya ia berjalan seusai kod habis di 'compile' kan.

Ini bermakna semasa sistem operasi iOS membaca kod, aplikasi tidak akan berhenti seketika untuk memberi ruang kepada memory management untuk membuang objek yang sudah tidak digunakan lagi sepertimana GC berfungsi. Sebaliknya iOS akan membuang objek yang sudah tidak diperlukan jika bilangan rujukan (reference) terhadap objek itu sudah mencapai nilai kosong. Bermakna sudah tiada siapa lagi yang memerlukannya dan perlu dibuang untuk memastikan memori digunakan oleh objek yang lain pula.

Image result for automatic reference counting Kapsyen: ARC hanya menyingkirkan objek jika bilangan reference objek tersebut mencapai nilai 0


Ini memberi kelebihan untuk iOS berbanding Android kerana akan kurang berlakunya lag dan freeze seterusnya telefon lebih lancar untuk digunakan.

Mana lebih bagus? GC pada Android atau ARC pada iOS?


Secara peribadi, memang diakui iOS lebih bagus dalam mengurus memori melalui penggunaan ARC. Akan tetapi, Android buat masa ini memerlukan GC kerana ia adalah salah satu pakej dan fungsi yang hadir dalam Java. Dan Android perlukan Java kerana ciri virtual machine yang menolong menterjemah kod-kod tersebut kepada banyak jenis peranti.

iOS lebih mudah. Ia tidak perlukan virtual machine kerana sistem operasi tersebut hanya dikhususkan untuk peranti Apple sahaja. Mana ada telefon lain pakai iOS. Oleh sebab itu, iOS tidak memerlukan RAM yang besar gedabak seperti Android untuk berfungsi dengan lancar.

Kesimpulan


Sistem operasi Android telah banyak berubah dan menjadi lebih efisien dan virtual machine tersebut tidak lagi banyak songeh seperti dahulu. Jumlah RAM walau bagaimanapun masih lagi meningkat tetapi bukan kerana kelemahan sistem operasi Android tersebut, tetapi disebabkan oleh fungsi-fungsi yang semakin banyak diketengahkan oleh pengeluar.

Namun, kita juga masih tidak boleh menghiraukan faktor kecil mengapa jumlah RAM telefon Android yang tinggi. Antaranya adalah gimik pemasaran pengeluar dalam melariskan telefon mereka. Sebabnya, pengeluar lebih mudah untuk mempromosikan tahap prestasi telefon mereka berpandukan berapa banyak RAM yang telefon itu ada.

Faktor kecil ini walau bagaimanapun bukanlah keperluan sebaliknya ia adalah pilihan pengeluar bagaimana mereka mahu memasarkan produk mereka. Jika dahulu sistem operasi Android adalah leceh dan memerlukan perkakas yang mencukupi untuk berfungsi dengan lancar dan efisien. Kini, sistem operasi Android lebih cekap untuk berfungsi dengan kemajuan teknologi yang dimiliki.

iOS pada masa yang sama juga memerlukan RAM yang lebih banyak tetapi dalam kadar yang sedikit dari tahun ke tahun. Ini adalah kerana kedua-dua sistem operasi masih belum berada dalam tahap sempurna yang tidak memerlukan penambahan sesuatu yang baharu. Akan sentiasa ada fungsi baharu yang dimasukkan dari semasa ke semasa semata-mata ingin menjadikan kedua-dua sistem operasi lebih efisien untuk digunakan sesuai dengan kehendak pengguna mereka.

Berkaitan