Déi ideal Betrag u RAM déi Telefone fir hir glat Multitasking brauchen ass e ganz diskutéiert Thema. Apple kënnt mat enger méi klenger Gréisst a sengen iPhones duerch, wat dacks méi benotzbar ass wéi Android Léisungen. Dir fannt och keng Aart vu RAM Memory Gestioun um iPhone, wärend Android seng eege speziell Funktioun dofir huet.
Wann Dir gitt, zum Beispill, an Samsung Galaxy Handyen ze Astellungen -> Apparat Pfleeg, Dir fannt hei e RAM-Indikator mat Informatioun iwwer wéi vill Plaz gratis ass a wéi vill besat ass. Nodeems Dir op de Menü geklickt hutt, kënnt Dir gesinn wéi vill Erënnerung all Applikatioun hëlt, an Dir hutt och d'Méiglechkeet d'Erënnerung hei ze läschen. D'RAM Plus Funktioun ass och hei. Seng Bedeitung ass datt et eng gewëssen Zuel vu GB vun der interner Späichere bësst, déi et fir virtuell Erënnerung benotzt. Kënnt Dir Iech esou eppes op iOS virstellen?
Smartphones vertrauen op RAM. Et servéiert hinnen fir de Betribssystem ze späicheren, fir Uwendungen ze starten an och e puer vun hiren Donnéeën am Cache a Puffer Memory ze späicheren. Also muss de RAM esou organiséiert a geréiert ginn, datt d'Applikatioune glat kënne lafen, och wann Dir se op den Hannergrond fällt an no enger Zäit erëm opmaacht.
Swift vs. Java
Awer wann Dir eng nei Applikatioun ufänkt, musst Dir fräi Plaz an der Erënnerung hunn fir se ze lueden an ze lafen. Wann dat net de Fall ass, muss d'Plaz entlooss ginn. De System wäert also e puer Lafen Prozesser zwangsleefeg ofschléissen, sou wéi Uwendungen déi scho ugefaang hunn. Wéi och ëmmer, béid Systemer, dh Android an iOS, funktionnéieren anescht mam RAM.
Den iOS Betriebssystem ass a Swift geschriwwen, an iPhones brauchen net tatsächlech benotzt Erënnerung aus zouenen Apps zréck an de System ze recycléieren. Dëst ass wéinst der Aart a Weis wéi iOS gebaut ass, well Apple huet voll Kontroll doriwwer well et nëmmen op seng iPhones leeft. Am Géigesaz, Android ass op Java geschriwwen a gëtt op villen Apparater benotzt, also muss et méi universell sinn. Wann d'Applikatioun ofgeschloss ass, gëtt de Raum, deen se geholl huet, an de Betribssystem zréckgezunn.
Native Code vs. JVM
Wann en Entwéckler eng iOS App schreift, kompiléiere se se direkt a Code deen um iPhone Prozessor lafen kann. Dëse Code gëtt gebierteg Code genannt well et keng Interpretatioun oder virtuell Ëmfeld erfuerdert fir ze lafen. Android, op der anerer Säit, ass anescht. Wann de Java Code kompiléiert ass, gëtt en an den Java Bytecode Zwëschencode ëmgewandelt, deen Prozessor-onofhängeg ass. Et kann also op verschiddene Prozessoren vu verschiddene Hiersteller lafen. Dëst huet enorm Virdeeler fir Cross-Plattform Kompatibilitéit.
Natierlech gëtt et och en Nodeel. All Betribssystem a Prozessor Kombinatioun brauch en Ëmfeld bekannt als Java Virtual Machine (JVM). Awer gebierteg Code funktionnéiert besser wéi Code deen duerch de JVM ausgefouert gëtt, sou datt d'Benotzung vum JVM einfach d'Quantitéit vum RAM erhéicht, deen vun der Applikatioun benotzt gëtt. Also iOS Apps benotzen manner Erënnerung, am Duerchschnëtt 40%. Dat ass och firwat Apple seng iPhones net mat sou vill RAM muss equipéieren wéi mat Android Apparater.
Ech sinn net genau en Expert, awer ech beschreiwen meng Perspektiv aus der Perspektiv vun engem Benotzer deen Android fir 15 Joer benotzt huet an elo 2 Méint an den iPhone 13 mini ass. Op Android mat 8GB Erënnerung (viru kuerzem Samsung S21, Flip3) sinn ech normalerweis no enger gewësser Zäit zréck an déi virdru lancéiert Applikatioun an et war nach ëmmer am RAM gelueden, sou datt et net erëm ugefaang huet an ech konnt glat ophuelen wou ech verlooss. Op der anerer Säit, och mat 8GB Erënnerung, hunn ech all Applikatiounen eemol d'Woch "geschoss" fir de RAM ze läschen, well de System ugefaang huet mat voller Erënnerung ze luesen. Ech hu kee Problem mam iPhone ze luesen, awer op der anerer Säit muss ech soen datt wann Dir bal identesch Applikatiounen benotzt, am Géigendeel, et geschitt mir regelméisseg datt wann ech zréck op eng virdru lancéiert Applikatioun, et lued nees komplett an ech kann net glat weidergoen wou ech opgehalen hunn.
Wéi eng Optioun ass besser? Schwéier ze soen ... Apps op Android ëmbréngen an RAM läschen ass eng Saach vun zwee Klicks. Déi ganz Applikatioun erëm op den iPhone ze lueden ass net sou Zäitopwänneg, also ass et net sou wichteg ... Natierlech wier et ideal fir méi RAM um iPhone ze hunn a Multitasking wéi op Android :-D
Schäiss, et ass erëm domm. Fir eng Saach ass Android net laang am Java gemaach ginn, dat ass wat Kotlin ass fir. Garbage Collector ass verantwortlech fir d'Erënnerung, wat am einfachsten am iOS ass, wat och mat sengen Nodeeler existéiert. Dat Ganzt ass datt iOS Apps ëmbréngt soubal Dir se vum Bildschierm hëlt. Dëst befreit Erënnerung just wéi op Linux wann Dir Kill Pid vun engem Prozess tippt. Dofir dauert et sou laang fir de Browser opzemaachen an zréck op déi viregt Aarbecht. Dësen Artikel ass eng verbatim Iwwersetzung vun engem X Joer alen Artikel vun engem iOS Fanatiker ouni Programméierungskenntnisser. Jo, natierlech, Memory Management ass haaptsächlech d'Verantwortung vum Programméierer, wat d'Applikatioun mécht. Wann hien Houscht op et, et ass eng Erënnerung Leck an der Welt an pqk Dir kënnt X Gb Erënnerung hunn an et ass nach nëtzlos. An zu enger Zäit wou vill Uwendungen nëmme WebView sinn, ass dëst ganz einfach, well et selwer ësst wat et kann. Den Artikel ass Blödsinn, Dreck.
Android benotzt net méi jvm, mee dvm. An zousätzlech kompiléiert et et dann an en gebierteg ausführbar
Java ass nach ëmmer an Android.