ఫోన్లు వాటి సాఫీగా ఉండే మల్టీ టాస్కింగ్కు అవసరమైన RAM యొక్క ఆదర్శ పరిమాణం చాలా చర్చనీయాంశం. Apple దాని iPhoneలలో చిన్న పరిమాణాన్ని పొందుతుంది, ఇది తరచుగా Android పరిష్కారాల కంటే ఎక్కువగా ఉపయోగపడుతుంది. మీరు iPhoneలో ఎలాంటి RAM మెమరీ నిర్వహణను కూడా కనుగొనలేరు, అయితే Android దీని కోసం దాని స్వంత ప్రత్యేక ఫంక్షన్ను కలిగి ఉంది.
మీరు వెళితే, ఉదాహరణకు, Samsung Galaxy ఫోన్లలో నాస్టవెన్ í -> పరికర సంరక్షణ, ఎంత ఖాళీ స్థలం మరియు ఎంత ఆక్రమించబడింది అనే సమాచారంతో మీరు ఇక్కడ RAM సూచికను కనుగొంటారు. మెనుపై క్లిక్ చేసిన తర్వాత, ప్రతి అప్లికేషన్ ఎంత మెమరీని తీసుకుంటుందో మీరు చూడవచ్చు మరియు ఇక్కడ మెమరీని క్లియర్ చేసే ఎంపిక కూడా మీకు ఉంది. RAM ప్లస్ ఫంక్షన్ కూడా ఇక్కడ ఉంది. దీని అర్థం ఏమిటంటే ఇది అంతర్గత నిల్వ నుండి నిర్దిష్ట సంఖ్యలో GBని కొరికేస్తుంది, ఇది వర్చువల్ మెమరీ కోసం ఉపయోగిస్తుంది. మీరు iOSలో ఇలాంటివి ఊహించగలరా?
స్మార్ట్ఫోన్లు ర్యామ్పై ఆధారపడతాయి. ఇది ఆపరేటింగ్ సిస్టమ్ను నిల్వ చేయడానికి, అప్లికేషన్లను ప్రారంభించడానికి మరియు వారి డేటాలో కొంత భాగాన్ని కాష్ మరియు బఫర్ మెమరీలో నిల్వ చేయడానికి వారికి ఉపయోగపడుతుంది. అందువల్ల, మీరు వాటిని బ్యాక్గ్రౌండ్కి డ్రాప్ చేసినా, కొంత సమయం తర్వాత మళ్లీ ఓపెన్ చేసినా, అప్లికేషన్లు సజావుగా రన్ అయ్యే విధంగా ర్యామ్ నిర్వహించాలి మరియు నిర్వహించాలి.
స్విఫ్ట్ vs. జావా
కానీ కొత్త అప్లికేషన్ను ప్రారంభించేటప్పుడు, దాన్ని లోడ్ చేయడానికి మరియు అమలు చేయడానికి మీకు మెమరీలో ఖాళీ స్థలం ఉండాలి. ఇది కాకపోతే, స్థలం ఖాళీ చేయాలి. అందువల్ల సిస్టమ్ ఇప్పటికే ప్రారంభించిన అప్లికేషన్ల వంటి కొన్ని రన్నింగ్ ప్రాసెస్లను బలవంతంగా రద్దు చేస్తుంది. అయితే, రెండు సిస్టమ్లు, అంటే Android మరియు iOS, RAMతో విభిన్నంగా పని చేస్తాయి.
iOS ఆపరేటింగ్ సిస్టమ్ స్విఫ్ట్లో వ్రాయబడింది మరియు ఐఫోన్లు వాస్తవానికి మూసివేసిన యాప్ల నుండి ఉపయోగించిన మెమరీని తిరిగి సిస్టమ్లోకి రీసైకిల్ చేయాల్సిన అవసరం లేదు. ఇది iOS నిర్మించబడిన విధానం కారణంగా ఉంది, ఎందుకంటే ఆపిల్ దాని ఐఫోన్లలో మాత్రమే నడుస్తుంది కాబట్టి దానిపై పూర్తి నియంత్రణ ఉంటుంది. దీనికి విరుద్ధంగా, ఆండ్రాయిడ్ జావాలో వ్రాయబడింది మరియు అనేక పరికరాలలో ఉపయోగించబడుతుంది, కాబట్టి ఇది మరింత సార్వత్రికంగా ఉండాలి. అప్లికేషన్ ముగించబడినప్పుడు, అది తీసుకున్న స్థలం ఆపరేటింగ్ సిస్టమ్కు తిరిగి వస్తుంది.
స్థానిక కోడ్ vs. JVM
డెవలపర్ iOS యాప్ను వ్రాసినప్పుడు, వారు దానిని నేరుగా iPhone ప్రాసెసర్లో అమలు చేయగల కోడ్లో కంపైల్ చేస్తారు. ఈ కోడ్ని స్థానిక కోడ్ అని పిలుస్తారు ఎందుకంటే దీనికి ఎటువంటి వివరణ లేదా వర్చువల్ వాతావరణం అమలు చేయాల్సిన అవసరం లేదు. మరోవైపు, ఆండ్రాయిడ్ భిన్నంగా ఉంటుంది. జావా కోడ్ కంపైల్ చేయబడినప్పుడు, అది ప్రాసెసర్-స్వతంత్రమైన జావా బైట్కోడ్ ఇంటర్మీడియట్ కోడ్గా మార్చబడుతుంది. అందువల్ల ఇది వేర్వేరు తయారీదారుల నుండి వేర్వేరు ప్రాసెసర్లపై రన్ అవుతుంది. ఇది క్రాస్-ప్లాట్ఫారమ్ అనుకూలతకు భారీ ప్రయోజనాలను కలిగి ఉంది.
వాస్తవానికి, ఒక ప్రతికూలత కూడా ఉంది. ప్రతి ఆపరేటింగ్ సిస్టమ్ మరియు ప్రాసెసర్ కలయికకు జావా వర్చువల్ మెషిన్ (JVM) అని పిలవబడే పర్యావరణం అవసరం. కానీ స్థానిక కోడ్ JVM ద్వారా అమలు చేయబడిన కోడ్ కంటే మెరుగ్గా పని చేస్తుంది, కాబట్టి JVMని ఉపయోగించడం వలన అప్లికేషన్ ఉపయోగించే RAM మొత్తం పెరుగుతుంది. కాబట్టి iOS యాప్లు తక్కువ మెమరీని ఉపయోగిస్తాయి, సగటున 40%. అందుకే యాపిల్ తన ఐఫోన్లలో ఆండ్రాయిడ్ డివైజ్లతో చేసినంత ర్యామ్ను అమర్చాల్సిన అవసరం లేదు.
నేను ఖచ్చితంగా నిపుణుడిని కాదు, కానీ 15 సంవత్సరాలుగా ఆండ్రాయిడ్ని ఉపయోగించిన మరియు ఇప్పుడు iPhone 2 మినీలోకి 13 నెలలు అవుతున్న వినియోగదారు కోణం నుండి నా దృక్కోణాన్ని వివరిస్తాను. 8GB మెమరీ ఉన్న Androidలో (ఇటీవల Samsung S21, Flip3) నేను సాధారణంగా ఒక నిర్దిష్ట సమయం తర్వాత గతంలో లాంచ్ చేసిన అప్లికేషన్కి తిరిగి వస్తాను మరియు అది ఇప్పటికీ RAMలో లోడ్ చేయబడి ఉంది, కనుక ఇది మళ్లీ ప్రారంభం కాలేదు మరియు నేను ఎక్కడికి వెళ్లగలను. వదిలేశారు. మరోవైపు, 8GB మెమరీతో కూడా, RAMని క్లియర్ చేయడానికి నేను వారానికి ఒకసారి అన్ని అప్లికేషన్లను "షాట్ డౌన్" చేసాను, ఎందుకంటే సిస్టమ్ పూర్తి మెమరీతో నెమ్మదించడం ప్రారంభించింది. ఐఫోన్లో వేగాన్ని తగ్గించడంలో నాకు సమస్య లేదు, కానీ మరోవైపు, దాదాపు ఒకేలాంటి అప్లికేషన్లను ఉపయోగిస్తున్నప్పుడు, దీనికి విరుద్ధంగా, నేను గతంలో ప్రారంభించిన అప్లికేషన్కు తిరిగి వచ్చినప్పుడు, ఇది నాకు క్రమం తప్పకుండా జరుగుతుందని నేను చెప్పాలి. అది మళ్లీ పూర్తిగా లోడ్ అవుతుంది మరియు నేను ఎక్కడ ఆపలేను .
ఏ ఎంపిక మంచిది? చెప్పడం కష్టం... ఆండ్రాయిడ్లో యాప్లను చంపడం మరియు RAMని క్లియర్ చేయడం రెండు క్లిక్ల విషయం. ఐఫోన్లో మొత్తం అప్లికేషన్ను మళ్లీ లోడ్ చేయడం ఎక్కువ సమయం తీసుకోదు, కాబట్టి ఇది పెద్దగా పట్టింపు లేదు... అయితే, ఐఫోన్లో ఎక్కువ ర్యామ్ కలిగి ఉండటం మరియు ఆండ్రాయిడ్లో లాగా మల్టీ టాస్కింగ్ చేయడం అనువైనది :-D
షిట్, ఇది మళ్ళీ మూర్ఖత్వం. ఒక విషయం ఏమిటంటే, ఆండ్రాయిడ్ జావాలో చాలా కాలంగా చేయలేదు, దాని కోసం కోట్లిన్. గార్బేజ్ కలెక్టర్ మెమరీకి బాధ్యత వహిస్తాడు, ఇది iOSలో సరళమైనది, ఇది దాని ప్రతికూలతలతో కూడా ఉంది. మొత్తం విషయం ఏమిటంటే, మీరు వాటిని స్క్రీన్ నుండి తీసివేసిన వెంటనే iOS యాప్లను చంపేస్తుంది. ఇది మీరు ప్రక్రియ యొక్క కిల్ పిడ్ని టైప్ చేసినప్పుడు linuxలో వలె మెమరీని ఖాళీ చేస్తుంది. అందుకే బ్రౌజర్ని తెరిచి మునుపటి పనికి రావడానికి చాలా సమయం పడుతుంది. ఈ కథనం ఎటువంటి ప్రోగ్రామింగ్ పరిజ్ఞానం లేని iOS అభిమాని ద్వారా X సంవత్సరాల నాటి కథనానికి పదాల అనువాదం. అవును, వాస్తవానికి, మెమరీ నిర్వహణ అనేది ప్రోగ్రామర్ యొక్క బాధ్యత, అప్లికేషన్ ఏమి చేస్తుంది. అతను దానిపై దగ్గితే, ప్రపంచంలో మెమరీ లీక్ ఉంది మరియు pqk మీరు X Gb మెమరీని కలిగి ఉండవచ్చు మరియు అది ఇప్పటికీ పనికిరానిది. మరియు అనేక అప్లికేషన్లు WebView మాత్రమే ఉన్న సమయంలో, ఇది చాలా సులభం, ఎందుకంటే ఇది చేయగలిగినది తింటుంది. వ్యాసం అర్ధంలేనిది, చెత్త.
Android ఇకపై jvmని ఉపయోగించదు, కానీ dvm. మరియు అదనంగా, అది దానిని స్థానిక ఎక్జిక్యూటబుల్గా కంపైల్ చేస్తుంది
జావా ఇప్పటికీ ఆండ్రాయిడ్లో ఉంది.