ချောမွေ့သော Multitasking အတွက် လိုအပ်သော အကောင်းဆုံး RAM ပမာဏသည် အတော်လေး အခြေအတင် ဆွေးနွေးစရာ အကြောင်းအရာတစ်ခု ဖြစ်သည်။ Apple သည် ၎င်း၏ iPhone များတွင် သေးငယ်သော အရွယ်အစားဖြင့် ရရှိပြီး ၎င်းသည် Android ဖြေရှင်းချက်ထက် မကြာခဏ အသုံးပြုနိုင်သည်။ iPhone တွင် RAM မန်မိုရီစီမံခန့်ခွဲမှု အမျိုးအစားကို သင်တွေ့လိမ့်မည်မဟုတ်သော်လည်း၊ Android တွင် ၎င်းအတွက် ၎င်း၏သီးသန့်လုပ်ဆောင်ချက်ပါရှိသည်။
ဥပမာ Samsung Galaxy ဖုန်းတွေမှာ သွားနေရင် ပေးလိုက်ပါ။ ဆက်တင်များ -> စက်ကို ဂရုစိုက်ပါ။နေရာလွတ်မည်မျှနှင့် မည်မျှနေရာယူထားသည် စသည့် အချက်အလက်များဖြင့် ဤနေရာတွင် RAM ညွှန်ပြချက်ကို သင်တွေ့လိမ့်မည်။ မီနူးကို နှိပ်ပြီးနောက်၊ အပလီကေးရှင်းတစ်ခုစီတွင် မန်မိုရီမည်မျှယူသည်ကို သင်မြင်နိုင်ပြီး ဤနေရာတွင် မမ်မိုရီကို ရှင်းလင်းရန် ရွေးချယ်ခွင့်လည်းရှိသည်။ RAM Plus လုပ်ဆောင်ချက်ကိုလည်း ဤနေရာတွင် တည်ရှိပါသည်။ ၎င်း၏ အဓိပ္ပါယ်မှာ ၎င်းသည် virtual memory အတွက် အသုံးပြုမည့် internal storage မှ အချို့သော GB အရေအတွက်ကို ကိုက်လိမ့်မည်ဖြစ်သည်။ iOS တွင်ဤကဲ့သို့သောအရာတစ်ခုခုကိုသင်စိတ်ကူးနိုင်သလား။
စမတ်ဖုန်းများသည် RAM ကို အားကိုးသည်။ ၎င်းသည် ၎င်းတို့အား လည်ပတ်မှုစနစ်အား သိမ်းဆည်းရန်၊ အပလီကေးရှင်းများဖွင့်ရန်နှင့် ၎င်းတို့၏ ဒေတာအချို့ကို ကက်ရှ်နှင့် ကြားခံမှတ်ဉာဏ်တွင် သိမ်းဆည်းရန် ဆောင်ရွက်ပေးသည်။ ထို့ကြောင့်၊ သင်သည် ၎င်းတို့ကို နောက်ခံသို့ချ၍ ခဏအကြာတွင် ပြန်ဖွင့်လျှင်ပင် အပလီကေးရှင်းများ ချောမွေ့စွာလည်ပတ်နိုင်စေရန် RAM ကို စနစ်တကျ စီမံထားရပါမည်။
Swift vs. ဂျာဗား
ဒါပေမယ့် အပလီကေးရှင်းအသစ်တစ်ခုကို စတင်တဲ့အခါ၊ ဒေါင်းလုဒ်လုပ်ပြီး run ဖို့ မမ်မိုရီထဲမှာ နေရာလွတ်ရှိဖို့ လိုပါတယ်။ ဒီလိုမှမဟုတ်ရင် နေရာလွတ်ပေးရမယ်။ ထို့ကြောင့် စနစ်သည် စတင်နေပြီဖြစ်သည့် အပလီကေးရှင်းများကဲ့သို့ လုပ်ဆောင်နေသည့် လုပ်ငန်းစဉ်အချို့ကို ပြင်းထန်စွာ ရပ်တန့်သွားမည်ဖြစ်သည်။ သို့သော်၊ ဥပမာအားဖြင့်၊ Android နှင့် iOS စနစ်နှစ်ခုစလုံးသည် RAM နှင့် ကွဲပြားသည်။
iOS လည်ပတ်မှုစနစ်အား Swift ဖြင့် ရေးသားထားပြီး iPhone များသည် ပိတ်ထားသောအက်ပ်များမှ အသုံးပြုထားသော memory ကို စနစ်သို့ ပြန်လည်အသုံးပြုရန် အမှန်တကယ်မလိုအပ်ပါ။ Apple သည် ၎င်း၏ iPhone များတွင်သာ လုပ်ဆောင်သောကြောင့် ၎င်းကို အပြည့်အဝ ထိန်းချုပ်နိုင်သောကြောင့် iOS ကို တည်ဆောက်ရခြင်း ဖြစ်သည်။ ဆန့်ကျင်ဘက်အနေနှင့်၊ Android ကို Java ဖြင့်ရေးသားထားပြီး စက်အများအပြားတွင် အသုံးပြုသောကြောင့် ၎င်းသည် ပိုမိုသာလွန်ကောင်းမွန်ရပါမည်။ အပလီကေးရှင်းကို ရပ်စဲလိုက်သောအခါ၊ ၎င်းယူထားသော နေရာအား လည်ပတ်မှုစနစ်သို့ ပြန်ပို့ပေးသည်။
မူရင်းကုဒ်နှင့် JVM
developer သည် iOS အက်ပ်တစ်ခုအား ရေးသားသောအခါ၊ ၎င်းတို့သည် ၎င်းကို iPhone ၏ ပရိုဆက်ဆာတွင် လုပ်ဆောင်နိုင်သော ကုဒ်အဖြစ် တိုက်ရိုက်စုစည်းပါသည်။ ဤကုဒ်ကို အသုံးပြုရန် အဓိပ္ပာယ်ဖွင့်ဆိုခြင်း သို့မဟုတ် အတုအယောင်ပတ်ဝန်းကျင် မလိုအပ်သောကြောင့် ဤကုဒ်ကို မူရင်းကုဒ်ဟုခေါ်သည်။ Android ကတော့ မတူပါဘူး။ Java ကုဒ်ကို ပြုစုသောအခါ၊ ၎င်းကို ပရိုဆက်ဆာ သီးခြားဖြစ်သော Java Bytecode အလယ်အလတ်ကုဒ်အဖြစ်သို့ ပြောင်းသည်။ ထို့ကြောင့် ၎င်းသည် မတူညီသော ထုတ်လုပ်သူမှ မတူညီသော ပရိုဆက်ဆာများပေါ်တွင် အလုပ်လုပ်နိုင်သည်။ ၎င်းသည် cross-platform လိုက်ဖက်ညီမှုအတွက်ကြီးမားသောအားသာချက်များရှိသည်။
ဟုတ်ပါတယ်၊ အားနည်းချက်လည်းရှိတယ်။ လည်ပတ်မှုစနစ်နှင့် ပရိုဆက်ဆာပေါင်းစပ်မှုတစ်ခုစီသည် Java Virtual Machine (JVM) ဟုခေါ်သော ပတ်ဝန်းကျင်တစ်ခု လိုအပ်သည်။ သို့သော် မူရင်းကုဒ်သည် JVM မှတစ်ဆင့် လုပ်ဆောင်သည့် ကုဒ်ထက် ပိုမိုကောင်းမွန်သောကြောင့် JVM ကိုအသုံးပြုခြင်းဖြင့် အက်ပ်မှအသုံးပြုသော RAM ပမာဏကို တိုးမြင့်စေသည်။ ထို့ကြောင့် iOS အက်ပ်များသည် ပျမ်းမျှ 40% တွင် memory နည်းပါသည်။ ထို့ကြောင့် Apple သည် ၎င်း၏ iPhone များတွင် Android ထုတ်ကုန်များကဲ့သို့ RAM များများ တပ်ဆင်ရန် မလိုအပ်ပေ။
ကျွန်ုပ်သည် အတိအကျကျွမ်းကျင်သူမဟုတ်ပါ၊ သို့သော် ကျွန်ုပ်သည် android ကို 15 နှစ်ကြာအသုံးပြုခဲ့ပြီး ယခု iPhone 2 mini သို့ 13 လကြာအသုံးပြုသူ၏ရှုထောင့်မှကျွန်ုပ်၏အမြင်ကိုဖော်ပြပါမည်။ မမ်မိုရီ 8GB ရှိသော android တွင် (မကြာသေးမီက Samsung S21၊ Flip3) တွင် ကျွန်ုပ်သည် ယခင်ထွက်ရှိထားသော application သို့ အချိန်အတန်ကြာပြီးနောက် ပြန်လာပြီး ၎င်းကို RAM တွင်ထည့်သွင်းထားဆဲဖြစ်သောကြောင့် ၎င်းသည် ပြန်မစတင်တော့ဘဲ ကျွန်ုပ်ရောက်ရှိနေသည့်နေရာကို ချောမွေ့စွာ ကောက်ယူနိုင်ပြီဖြစ်သည်။ ထားခဲ့တယ်။ တစ်ဖက်တွင်၊ 8GB မမ်မိုရီရှိသော်လည်း၊ စနစ်သည် မမ်မိုရီအပြည့်ဖြင့် နှေးကွေးသွားသောကြောင့် RAM ကိုရှင်းလင်းရန် တစ်ပတ်လျှင်တစ်ကြိမ် အပလီကေးရှင်းအားလုံးကို "ပစ်ချ" ခဲ့သည်။ iPhone နှေးကွေးခြင်းတွင် ပြဿနာမရှိသော်လည်း၊ တစ်ဖက်တွင်၊ တူညီသောအပလီကေးရှင်းများကို အသုံးပြုသည့်အခါတွင်၊ ဆန့်ကျင်ဘက်အနေဖြင့်၊ ယခင်ထွက်ရှိထားသော application သို့ ပြန်သွားသည့်အခါ ပုံမှန်ဖြစ်သွားတတ်ကြောင်း၊ လုံးဝပြန်တက်လာပြီး ငါကျန်ခဲ့တဲ့နေရာကို ချောချောမွေ့မွေ့ ဆက်မလုပ်နိုင်တော့ဘူး။
ဘယ်ရွေးချယ်မှုက ပိုကောင်းလဲ။ ပြောဖို့ခက်ပါတယ်… android ရှိ အက်ပ်များကို သတ်ခြင်းနှင့် RAM ကို ရှင်းလင်းခြင်းသည် ကလစ်နှစ်ချက်မျှသာဖြစ်သည်။ အပလီကေးရှင်းတစ်ခုလုံးကို iPhone တွင်ပြန်တင်ခြင်းသည် အချိန်ကုန်မည်မဟုတ်သောကြောင့် သိပ်အရေးမကြီးပါ... iPhone တွင် RAM ပိုများပြီး Android တွင်ကဲ့သို့ multitasking လုပ်ခြင်းသည် အကောင်းဆုံးဖြစ်လိမ့်မည် :-D
မိုက်တယ်၊ မိုက်ပြန်တယ်။ တစ်ချက်ကတော့ Android က Java မှာ မလုပ်ဖြစ်တာကြာပြီ၊ ဒါက Kotlin အတွက်ပါ။ အမှိုက်စုဆောင်းသူသည် iOS တွင် အရိုးရှင်းဆုံးဖြစ်သည့် မမ်မိုရီကို တာဝန်ယူသည်၊ ၎င်း၏အားနည်းချက်များနှင့်ပင် ရှိနေသည်။ အလုံးစုံသောအချက်မှာ iOS သည် ၎င်းတို့ကို စခရင်မှ ဖယ်ရှားပြီးသည်နှင့် အက်ပ်များကို သတ်ပစ်ခြင်းဖြစ်သည်။ ၎င်းသည် လုပ်ငန်းစဉ်တစ်ခု၏ kill pid ကိုရိုက်ထည့်သောအခါ linux တွင်ကဲ့သို့ Memory ကို လွတ်စေသည်။ ထို့ကြောင့် browser ကိုဖွင့်ပြီး ယခင်အလုပ်သို့ ပြန်သွားရန် အချိန်အတော်ကြာပါသည်။ ဤဆောင်းပါးသည် ပရိုဂရမ်းမင်းဗဟုသုတမရှိသော iOS ဝါသနာရှင်တစ်ဦးမှ X နှစ်သက်တမ်းရှိ ဆောင်းပါးတစ်ပုဒ်၏ စကားဖြင့် ဘာသာပြန်ခြင်းဖြစ်သည်။ ဟုတ်ပါတယ်၊ မှတ်ဉာဏ်စီမံခန့်ခွဲမှုသည် အဓိကအားဖြင့် ပရိုဂရမ်မာ၏တာဝန်ဖြစ်ပြီး အပလီကေးရှင်းလုပ်ဆောင်သည့်အရာဖြစ်သည်။ သူ ချောင်းဆိုးရင် ကမ္ဘာမှာ Memory ယိုစိမ့်ပြီး pqk မှာ မန်မိုရီ X Gb ရှိနိုင်ပြီး အသုံးမဝင်သေးပါဘူး။ အပလီကေးရှင်းများစွာသည် WebView သာဖြစ်နေသည့်အချိန်တွင်၊ ၎င်းကိုယ်တိုင်က ၎င်းလုပ်နိုင်သမျှကို စားသောကြောင့် ၎င်းသည် အလွန်ရိုးရှင်းပါသည်။ ဆောင်းပါးက ပေါက်ကရ အမှိုက်။
Android သည် jvm ကို အသုံးမပြုတော့ဘဲ dvm ကို အသုံးပြုပါသည်။ ထို့အပြင်၊ ၎င်းသည် ၎င်းကို မူရင်း executable အဖြစ်သို့ စုစည်းသည်။
Java သည် Android တွင်ရှိနေဆဲဖြစ်သည်။