Sasia ideale e RAM-it që u nevojitet telefonave për kryerjen e tyre të qetë me shumë detyra është një temë mjaft e debatuar. Apple ia del me një madhësi më të vogël në iPhone-ët e saj, e cila shpesh është më e përdorshme se zgjidhjet Android. Gjithashtu nuk do të gjeni asnjë lloj menaxhimi të memories RAM në iPhone, ndërsa Android ka funksionin e tij të dedikuar për këtë.
Nëse shkoni, për shembull, në telefonat Samsung Galaxy në Cilësimet -> Kujdesi i pajisjes, këtu do të gjeni një tregues RAM me informacion se sa hapësirë është e lirë dhe sa është e zënë. Pasi të klikoni në meny, mund të shihni se sa memorie merr secili aplikacion dhe gjithashtu keni mundësinë për të pastruar memorien këtu. Funksioni RAM Plus ndodhet gjithashtu këtu. Kuptimi i tij është se do të kafshojë një numër të caktuar GB nga ruajtja e brendshme, të cilën do ta përdorë për memorie virtuale. A mund ta imagjinoni diçka të tillë në iOS?
Telefonat inteligjentë mbështeten në RAM. Ai u shërben atyre për të ruajtur sistemin operativ, për të nisur aplikacionet dhe gjithashtu për të ruajtur disa nga të dhënat e tyre në memorien e memories dhe buferit. Kështu, RAM-i duhet të organizohet dhe menaxhohet në atë mënyrë që aplikacionet të mund të funksionojnë pa probleme, edhe nëse i hidhni në sfond dhe i hapni përsëri pas një kohe.
Swift vs. Java
Por kur filloni një aplikacion të ri, duhet të keni hapësirë të lirë në memorie për ta ngarkuar dhe ekzekutuar atë. Nëse nuk është kështu, vendi duhet të lirohet. Prandaj, sistemi do të përfundojë me forcë disa procese që funksionojnë, siç janë aplikacionet që kanë filluar tashmë. Sidoqoftë, të dy sistemet, d.m.th Android dhe iOS, punojnë ndryshe me RAM.
Sistemi operativ iOS është shkruar në Swift dhe iPhone-ët nuk kanë nevojë të riciklojnë kujtesën e përdorur nga aplikacionet e mbyllura përsëri në sistem. Kjo është për shkak të mënyrës se si është ndërtuar iOS, sepse Apple ka kontroll të plotë mbi të pasi funksionon vetëm në iPhone-ët e saj. Në të kundërt, Android është shkruar në Java dhe përdoret në shumë pajisje, kështu që duhet të jetë më universal. Kur aplikacioni përfundon, hapësira që ka marrë kthehet në sistemin operativ.
Kodi vendas vs. JVM
Kur një zhvillues shkruan një aplikacion iOS, ata e përpilojnë atë drejtpërdrejt në kod që mund të funksionojë në procesorin e iPhone. Ky kod quhet kod vendas sepse nuk kërkon interpretim ose mjedis virtual për t'u ekzekutuar. Android, nga ana tjetër, është i ndryshëm. Kur përpilohet kodi Java, ai konvertohet në kod të ndërmjetëm Java Bytecode, i cili është i pavarur nga procesori. Prandaj, mund të funksionojë në procesorë të ndryshëm nga prodhues të ndryshëm. Kjo ka avantazhe të mëdha për pajtueshmërinë ndër-platformë.
Sigurisht, ka edhe një anë negative. Çdo kombinim i sistemit operativ dhe procesorit ka nevojë për një mjedis të njohur si Java Virtual Machine (JVM). Por kodi vendas funksionon më mirë se kodi i ekzekutuar përmes JVM, kështu që përdorimi i JVM thjesht rrit sasinë e RAM-it të përdorur nga aplikacioni. Pra, aplikacionet iOS përdorin më pak memorie, mesatarisht 40%. Kjo është gjithashtu arsyeja pse Apple nuk duhet t'i pajisë iPhone-ët e saj me aq RAM sa me pajisjet Android.
Unë nuk jam saktësisht një ekspert, por do të përshkruaj këndvështrimin tim nga këndvështrimi i një përdoruesi që ka përdorur android për 15 vjet dhe tani ka 2 muaj në iPhone 13 mini. Në android me memorie 8 GB (më së fundi Samsung S21, Flip3) zakonisht kthehesha pas një kohe të caktuar në aplikacionin e lëshuar më parë dhe ai ishte ende i ngarkuar në RAM, kështu që nuk filloi përsëri nga e para dhe mund të merrja pa probleme nga ku isha. u largua. Nga ana tjetër, edhe me 8 GB memorie, i kam “rrezuar” të gjitha aplikacionet një herë në javë për të pastruar RAM-in, sepse sistemi filloi të ngadalësohej me memorie të plotë. Nuk e kam problem me ngadalësimin në iPhone, por nga ana tjetër më duhet të them se kur përdor aplikacione pothuajse identike, përkundrazi, më ndodh rregullisht që kur kthehem në një aplikacion të lansuar më parë, ngarkohet plotësisht përsëri dhe nuk mund të vazhdoj pa probleme aty ku e lashë.
Cili opsion është më i mirë? Vështirë të thuash… Vrasja e aplikacioneve në android dhe pastrimi i RAM-it është çështje e dy klikimeve. Ngarkimi sërish i të gjithë aplikacionit në iPhone nuk kërkon shumë kohë, ndaj nuk ka shumë rëndësi... Sigurisht, do të ishte ideale të kishim më shumë RAM në iPhone dhe të bëni shumë detyra si në Android :-D
Mut, është marrëzi përsëri. Së pari, Android nuk është bërë në Java për një kohë të gjatë, për këtë është Kotlin. Mbledhësi i mbeturinave është përgjegjës për kujtesën, e cila është më e thjeshta në iOS, e cila ekziston edhe me disavantazhet e saj. E gjithë puna është se iOS i vret aplikacionet sapo i hiqni ato nga ekrani. Kjo çliron kujtesën ashtu si në linux kur shkruani kill pid të një procesi. Kjo është arsyeja pse duhet kaq shumë kohë për të hapur shfletuesin dhe për t'u kthyer në punën e mëparshme. Ky artikull është një përkthim fjalë për fjalë i një artikulli X-vjeçar nga një fanatik i iOS pa njohuri programimi. Po, sigurisht, menaxhimi i kujtesës është kryesisht përgjegjësi e programuesit, çfarë bën aplikacioni. Nëse kollitet mbi të, ka një rrjedhje memorie në botë dhe pqk mund të kesh X Gb memorie dhe është akoma e kotë. Dhe në një kohë kur shumë aplikacione janë vetëm WebView, kjo është shumë e thjeshtë, sepse ai vetë ha atë që mundet. Artikulli është i pakuptimtë, plehra.
Android nuk përdor më jvm, por dvm. Dhe përveç kësaj, më pas e përpilon atë në një ekzekutues vendas
Java është ende në Android.