Ang sulundon nga kantidad sa RAM nga gikinahanglan sa mga telepono alang sa ilang hapsay nga multitasking usa ka debate nga hilisgutan. Ang Apple nakakuha sa usa ka gamay nga gidak-on sa iyang mga iPhone, nga kasagaran mas magamit kaysa mga solusyon sa Android. Dili usab nimo makit-an ang bisan unsang matang sa pagdumala sa memorya sa RAM sa iPhone, samtang ang Android adunay kaugalingon nga gipahinungod nga function alang niini.
Kung moadto ka, pananglitan, sa Samsung Galaxy nga mga telepono sa Mga setting -> Pag-atiman sa device, makit-an nimo ang usa ka timailhan sa RAM dinhi nga adunay kasayuran kung pila ang libre nga wanang ug kung pila ang giokupahan. Human sa pag-klik sa menu, imong makita kung pila ang memorya nga gikuha sa matag aplikasyon, ug ikaw usab adunay kapilian sa paghawan sa memorya dinhi. Ang RAM Plus function nahimutang usab dinhi. Ang kahulogan niini mao nga kini mopaak sa usa ka piho nga gidaghanon sa GB gikan sa internal storage, nga gamiton niini alang sa virtual memory. Mahunahuna ba nimo ang usa ka butang nga sama niini sa iOS?
Ang mga smartphone nagsalig sa RAM. Nagsilbi kini kanila sa pagtipig sa operating system, sa paglansad sa mga aplikasyon ug usab sa pagtipig sa pipila sa ilang mga datos sa cache ug buffer memory. Sa ingon, ang RAM kinahanglan nga organisado ug madumala sa paagi nga ang mga aplikasyon mahimong hapsay nga modagan, bisan kung imong ihulog kini sa background ug ablihan kini pag-usab pagkahuman.
Swift vs. Java
Apan kung magsugod ka usa ka bag-ong aplikasyon, kinahanglan nimo nga adunay libre nga wanang sa panumduman aron ma-load ug mapadagan kini. Kung dili kini ang kahimtang, ang lugar kinahanglan nga bakante. Busa ang sistema kusganong mohunong sa pipila ka mga proseso nga nagdagan, sama sa mga aplikasyon nga nagsugod na. Bisan pa, ang duha nga mga sistema, i.e. Android ug iOS, lahi ang pagtrabaho sa RAM.
Ang operating system sa iOS gisulat sa Swift, ug ang mga iPhone dili kinahanglan nga mag-recycle sa gigamit nga memorya gikan sa sirado nga mga app balik sa sistema. Kini tungod sa paagi nga gitukod ang iOS, tungod kay ang Apple adunay bug-os nga kontrol niini tungod kay kini nagdagan lamang sa iyang mga iPhone. Sa kasukwahi, ang Android gisulat sa Java ug gigamit sa daghang mga himan, mao nga kini kinahanglan nga mas unibersal. Kung ang aplikasyon gitapos, ang wanang nga gikuha niini ibalik sa operating system.
Lumad nga code vs. JVM
Kung ang usa ka developer nagsulat sa usa ka iOS app, gi-compile nila kini direkta sa code nga mahimong magamit sa processor sa iPhone. Gitawag kini nga kodigo nga lumad nga kodigo tungod kay wala kini magkinahanglan og interpretasyon o virtual nga palibot aron modagan. Ang Android, sa laing bahin, lahi. Sa diha nga ang Java code gihugpong, kini nakabig ngadto sa Java Bytecode intermediate code, nga mao ang processor-independente. Mahimo kini nga modagan sa lainlaing mga processor gikan sa lainlaing mga tiggama. Kini adunay daghang mga bentaha alang sa cross-platform compatibility.
Siyempre, adunay usab usa ka downside. Ang matag operating system ug kombinasyon sa processor nanginahanglan usa ka palibot nga nailhan nga Java Virtual Machine (JVM). Apan ang lumad nga kodigo mas maayo kay sa code nga gipatuman pinaagi sa JVM, mao nga ang paggamit sa JVM nagpadugang lamang sa gidaghanon sa RAM nga gigamit sa aplikasyon. Busa ang iOS apps naggamit ug gamay nga memorya, sa aberids nga 40%. Mao usab kana kung ngano nga ang Apple dili kinahanglan nga magsangkap sa iyang mga iPhone nga adunay daghang RAM sama sa gibuhat sa mga aparato sa Android.
Dili ako eksakto nga eksperto, apan akong ihulagway ang akong panan-aw gikan sa panan-aw sa usa ka tiggamit nga migamit sa android sulod sa 15 ka tuig ug karon 2 ka bulan sa iPhone 13 mini. Sa android nga adunay 8GB nga panumduman (labing bag-o nga Samsung S21, Flip3) sa kasagaran mobalik ako pagkahuman sa usa ka piho nga oras sa kaniadto nga gilusad nga aplikasyon ug kini gikargahan pa sa RAM, mao nga wala na kini nagsugod pag-usab ug hapsay nako nga makuha kung diin ko. gibiyaan. Sa laing bahin, bisan sa 8GB nga panumduman, akong "gipusil" ang tanan nga mga aplikasyon kausa sa usa ka semana aron malimpyohan ang RAM, tungod kay ang sistema nagsugod sa paghinay sa bug-os nga panumduman. Wala ako'y problema sa pagpahinay sa iPhone, apan sa laing bahin, kinahanglan nakong isulti nga kung naggamit sa halos parehas nga mga aplikasyon, sa kasukwahi, kini kanunay nga mahitabo kanako nga kung mobalik ako sa usa ka kaniadto nga gilunsad nga aplikasyon, kini bug-os nga load pag-usab ug ako dili hapsay sa pagkuha sa diin ako mihunong.
Hain nga kapilian ang mas maayo? Lisud isulti… Ang pagpatay sa mga app sa android ug paghawan sa RAM usa ka butang sa duha ka pag-klik. Ang pag-load pag-usab sa tibuok nga aplikasyon sa iPhone dili kaayo makahurot sa panahon, mao nga dili na kaayo igsapayan... Siyempre, maayo nga adunay dugang nga RAM sa iPhone ug multitasking sama sa Android :-D
Shit, tanga na naman. Sa usa ka butang, ang Android wala pa nahimo sa Java sa dugay nga panahon, mao kana ang para sa Kotlin. Ang tigkolekta sa basura mao ang nagdumala sa panumduman, nga mao ang pinakasimple sa iOS, nga naglungtad bisan sa mga kakulangan niini. Ang tanan mao nga ang iOS mopatay sa mga app sa diha nga imong kuhaon kini gikan sa screen. Gipagawas niini ang memorya sama sa linux kung imong gi-type ang pagpatay sa pid sa usa ka proseso. Mao nga dugay kaayo ang pag-abli sa browser ug pagbalik sa miaging trabaho. Kini nga artikulo usa ka verbatim nga paghubad sa usa ka X nga tuig nga artikulo sa usa ka panatiko sa iOS nga walay kahibalo sa programming. Oo, siyempre, ang pagdumala sa panumduman mao ang panguna nga responsibilidad sa programmer, kung unsa ang gibuhat sa aplikasyon. Kung gi ubo niya, naay memory leak sa kalibutan ug pqk naa kay X Gb nga memory ug walay pulos. Ug sa panahon nga daghang mga aplikasyon ang WebView ra, kini yano ra, tungod kay kini mismo mokaon kung unsa ang mahimo niini. Ang artikulo walay pulos, basura.
Ang Android wala na mogamit sa jvm, apan dvm. Ug dugang pa, kini gi-compile kini sa usa ka lumad nga executable
Ang Java naa pa sa Android.