menu

@ မင်္ဂလာပါ... ZMC နည်းပညာ Website လေးမှကြိုဆိုပါတယ်.. တစ်ဉီးတစ်ယောက်တည်းနဲ့ နည်းပညာပေါင်းစုံကို လေ့လာရမှာ မလွယ်ကူသလို.. ပြန်လည်မျှဝေဖို့ဆိုရင် ပိုပြီးခက်ပါတယ်.. မိတ်ဆွေတို့ရောက်နေတဲ့ ဝက်ဘ်ဆိုဒ်လေးထဲမှာတော့ Admin ကိုယ်တိုင်ရေးသားထားသော Post များနှင့်အတူ +++ Online တစ်ခွင် ပြန့်ကြဲနေတဲ့ နည်းပညာများထဲမှ ကောင်းနိုးရာရာတို့ကို စုစည်းထားတဲ့အတွက် တချို့သောနေရာများတွင် Credit မပါရှိခဲ့သော် သည်းခံနားလည်ပေးစေလိုပါကြောင်း.... ဖတ်ရှုနားလည်ပေးတဲ့အတွက်လည်း ကျေးဇူးအထူးတင်ပါတယ်..

iPhone ဟာ Android တွေထက် RAM အသုံးနည်းရခြင်း


{ Unicode }
iOS နဲ့ Android တို့ တိုက်ပွဲဟာ ဒီနေ့အထိ ပြင်းထန်နေဆဲပါ။ ဘယ်သူက ဘယ်သူ့ထက်သာသလဲဆိုတဲ့ ခိုင်လုံတဲ့ အကြောင်းအရင်းက ရှိမှာပါ။ ဒါပေမယ့် ကိုယ့်လိုအပ်ချက်အတွက် ဘယ်တခုက ပိုကောင်းသလဲဆိုတာ မပြီးဆုံးစတမ်း (ကျနော်တို့အပါအဝင်) နှိုင်းယှဉ်နေတာကိုတော့ တားလို့ရနိုင်မယ်မထင်ပါ။
မည်သည့် စက်မောင်းစနစ် OS က ပိုပြီး လုံခြုံစိတ်ချရပါ့မလဲ၊ ဘာကြောင့် iOS apps က Android Apps ထက်ယေဘူယျအားဖြင့် ပို​ကောင်းရသလဲ၊ စတဲ့မေးခွန်းတွေနဲ့ ကျနော်တို့ စူးစမ်းကြတယ်။ ဒါပေမယ့် ခင်ဗျားတို့ သတိမပြုမိတာတခုက ဒီမှာပါ။ iOS device တွေဟာ Android device တွေထက် RAM ထက်ဝက်(ထက်ဝက်အောက်နည်း) သာရှိကြတာပါ။ ဒါဟာ ဘာကြောင့့်ပါလဲ။
နှိုင်းယှဉ်ကြည့်ရင် ၂၀၁ရ နိုဝင်ဘာထုတ် OnePlus 5T ဆိုရင် RAM သုံးထားတာ  8GB တဲ့။ ဒါပေမယ့် သူ့လို highend ပဲ ၂၀၁ရ အောက်တိုဘာထုတ် iPhone X မှာ 3GB ပဲရှိတယ်။ ၂၀၁ရ စက်တင်ဘာထုတ် iPhone 8 plus မှာလည်း 3GB ပဲ။ iPhone 8 ဆိုရင် 2GB ပဲရှိတယ်။ 2GB RAM သုံးတာ ၂၀၁၆ ထုတ် iPhone 6s ကနေ 8 အထိပဲ။ ဘာပြဿနာမှမရှိဘူး။
Samsung Galaxy Note 8 က 6 GB သုံးထားတယ်။ သူက ၂၀၁ရ စက်တင်ဘာထုတ်တာ။ ၂၀၁ရ ဧပြီထုတ် Galaxy S8+ လည်း 6GB ပဲ။ ၂၀၁ရ အောက်တိုဘာထုတ် Google Pixel 2XL က 4GB သုံးတယ်။ ၂၀၁၄ ထုတ် iPhone 6 ဆို 1GB မျှသာ။ နောက်ဆုံးထုတ်iOS 11 ကို Run နေနိုင်တာပဲ။ iOS ခမျာ Android လိုသာ RAM များများသုူံနေရရင် iPhone ဈေးက ဒီထက်ခေါင်ခိုက်ဘို့ရှိတယ်။
#Android_device_တွေက_RAM_ပမာဏ_အများကြီးလိုအပ်ရခြင်းအကြောင်း
အဦးအစကတည်းက Android ကို ပရိုဆက်ဆာ အမျိုးအစားအစုံ၊ ထုတ်လုပ်သူ  အမျိုးမျိုး၊ Hardware ဖွဲ့စည်းပုံအမျိုးမျိုးကို ထောက်ပံ့နိုင်အောင် ဒီဇိုင်းထုတ်ထားရတာပါ။ software တခုကို System တခုအတွက် ရေးထားလျှင် ဒီ software ကို အခြား system မှာ run လို့မရဘူး။ ဒါပုံမှန်ပဲ။ Run ချင်ရင်တော့ အခြား system နဲ့ကိုက်ညီမှုရှိအောင် software ကိုပြန်ရေးရတော့မယ်။ အလုပ်ရှုပ်ပြီ။ ဒါကို ကျော်လွှားဘို့လို့ Android Apps တွေကို Java platform မှာ ရေးကြရတော့တယ်။ Java က အတော်အသုံးတည့်တယ်။ သူ့ရဲ့ Virtual Machine ကြောင့်ပါပဲ။ Application တခုကို Java ဖြင့် ရေးလိုက်တာနဲ့ အခြားဘယ် system မှာမဆို run လို့ရအောင် Virtual Machine က App ရဲ့ code တွေကို ဘာသာပြန်ပေးတယ်။ runtime တခုတော့ကြာမှာပေါ့။ လူကိုယ်တိုင် ပြန်ရေး ပြန်စုစည်းနေစရာမလိုတော့ဘူး။ Java ရဲ့ Virtual Machine က ကိုယ့်အတွက် ဒါကို ကိုင်တွယ်ပေးသွားတယ်။
တဘက်ကလည်း Android ထဲက Virtual Machine ကလည်း နှစ်များစွာအတွင်းမှာ တိုးတက်သည်ထက်တိုးတက်လာတော့ RAM လိုအပ်ချက်ဟာ ရှေးကထက်နည်းလာပြီ။ အခြားတဘက်ကလည်း Android ရဲ့ App တွေက အဆင့်မြင့်သည်ထက်မြင့်လာတယ်။ ပြောရရင် ဖောင်းပွလာတယ်ပေါ့။ ဆိုတော့ မောင်းနှင်ဘို့ရာ RAM ကိုပိုလိုအပ်လာတယ်။ Android App တို့ရဲ့ ထုံးစံအတိုင်း နောက်ကွယ် Background ကနေမောင်းနေဘို့ကလည်း RAM ကလိုသေးတယ်။
နောက်ဆုံးမှာ Android OS ကို Garbage Collection ဆိုတဲ့နည်းနဲ့တည်ဆောက်လိုက်တယ်။ “အမှိုက်သိမ်း” နည်းလို့ခေါ်ရမယ်။ App တွေကို လိုသလောက် RAM တွေ သုံးဘို့ခွင့်ပြုလိုက်တယ်။ ပြီးတော့မှ App တခုက သုံးပြီးလို့ မလိုအပ်တော့တဲ့ မသုံးတော့တဲ့ တနည်းပြောရရင် အမှိုက်ဖြစ်လာတဲ့ RAM ထဲက ဒေတာတွေကို Android ကလိုက်ရှင်းတယ်။ အမှိုက်ရှင်းသွားမှ RAM ကို အခြား App တွေ သုံးကြရမှာကိုး။ ဒီနည်းက device မှာ RAM ပမာဏအများကြီးသုံးထားရင်တော့ ထိရောက်မှာပေါ့။ မဟုတ်လို့ကတော့ အမှိုက်ချည့်သိမ်းရတာနဲ့ အချိန်တော်တော်ယူရမယ်။ (ဒါကို စက်လေးတယ်ပြောကြတယ်။)
ဒီအကြောင်းတွေကြောင့်ပဲ စက်ကိုညက်ညက်ညောညောလေးသုံးချင်ရင် အနည်းဆုံး RAM ပမာဏ 4GB ကို အကြံပြုတယ်။ ဒီလောက်မှ မသုံးရင် အနည်းဆုံး 2GB တော့ရှိသင့်တယ်။
#iOS_device_က_Android_device_ကဲ့သို့_RAM_များများ_မသုံးရခြင်းအကြောင်း
Apple က iOS ဂေဟစနစ်တခုလုံးကို အကြီးအကျယ် ထိန်းချုပ်ဘို့ ကြိုးပမ်းထားတယ်။ ခင်ဗျားက iOS သုံးချင်တယ်ဆိုပါစို့၊ ခင်ဗျားမှာ ရွေးချယ်စရာဖုန်း တမျိုးတည်းပဲရှိမယ်။ iPhone ပဲရှိတာပေါ့။ iOS App ကိုရေးချင်ရင်၊ Apple ရဲ့ ကရိယာတွေပဲသုံးရမယ်။ Apple နည်းလမ်းအတိုင်း ရေးပေတော့။ Apple ကတော့ စည်းမျဉ်းတွေ တင်းကျပ်ထားတယ်။
ဒါပေမယ့် ဒီလိုလုပ်ထား​တော့လည်း အကျိုးတွေအများကြီးရှိနေတယ်။
သူတို့ရဲ့ OS ကို run မယ့် device တခုရဲ့ အသေးစိတ်တွေကို Apple ကကောင်းကောင်းကြီး အတိအကျသိရှိထားတော့၊ သူတို့ OS ရဲ့ ဒီဇိုင်းကို လိုသလိုလုပ်နိုင်တယ်။ ဥပမာ – Android ဆိုရင် Processor အမျိုးမျိုးနဲ့ ကိုက်ညီအောင်လုပ်နေရချိန်မှာ၊ iOS ကတော့ သူတို့ရဲ့ ARM အခြေခံ procesaor တခုတည်းမှာပဲ run တယ်။ ဆိုလိုတာက ကိုယ်စိတ်ကြိုက်တည်ဆောက်ထားတဲ့ Processor ပေါ်မှာ ကိုယ့်စိတ်ကြိုက် OS ကိုမောင်းနှင်တော့ ဘာမှ မကိုက်ညီစရာမရှိတော့ဘူးပေါ့။
iOS အနေနဲ့ Android လို code တွေကို ချက်ချင်းဘာသာပြန်ဘို့ virtual machine လည်းမလိုဘူး။ App တွေအားလုံးကို compile လုပ်တာလည်း ကိုယ့် code နဲ့ကိုယ်ပဲ။ ဒီ code ကို တိုက်ရိုက် hardware ပေါ်မောင်းလိုက်ရုံပဲ။ virtual machine ကို မလိုအပ်ဘူးဆိုတဲ့ အဓိပ္ပါယ်က RAM ပမာဏ သိပ်မသုံးဘူးဆိုတဲ့ အဓိပ္ပါယ်ပါ။
အချုပ်ပြောရရင်၊ iOS မှာ RAM နည်းတာဟာ စွမ်းဆောင်ရည် ညံ့တဲ့အဓိပ္ပါယ်မဆောင်ဘူး။ iOS မှာ သီးခြား memory ကို ကိုင်တွယ်တဲ့နည်းလမ်းရှိတယ်။ Android လို Virtual Machine ပေါ် လုံံးဝ အားမထားနေဘူးဆိုတာကြောင့်ပဲ။
Translate by – Nyi Thway



Credit Post;;;
iOS နဲ႕ Android တို႔ တိုက္ပြဲဟာ ဒီေန႕အထိ ျပင္းထန္ေနဆဲပါ။ ဘယ္သူက ဘယ္သူ႕ထက္သာသလဲဆိုတဲ့ ခိုင္လုံတဲ့ အေၾကာင္းအရင္းက ရွိမွာပါ။ ဒါေပမယ့္ ကိုယ့္လိုအပ္ခ်က္အတြက္ ဘယ္တခုက ပိုေကာင္းသလဲဆိုတာ မၿပီးဆုံးစတမ္း (က်ေနာ္တို႔အပါအဝင္) နိႈင္းယွဥ္ေနတာကိုေတာ့ တားလို႔ရနိုင္မယ္မထင္ပါ။


မည္သည့္ စက္ေမာင္းစနစ္ OS က ပိုၿပီး လုံၿခဳံစိတ္ခ်ရပါ့မလဲ၊ ဘာေၾကာင့္ iOS apps က Android Apps ထက္ေယဘူယ်အားျဖင့္ ပို​ေကာင္းရသလဲ၊ စတဲ့ေမးခြန္းေတြနဲ႕ က်ေနာ္တို႔ စူးစမ္းၾကတယ္။ ဒါေပမယ့္ ခင္ဗ်ားတို႔ သတိမျပဳမိတာတခုက ဒီမွာပါ။ iOS device ေတြဟာ Android device ေတြထက္ RAM ထက္ဝက္(ထက္ဝက္ေအာက္နည္း) သာရွိၾကတာပါ။ ဒါဟာ ဘာေၾကာင့့္ပါလဲ။
နိႈင္းယွဥ္ၾကည့္ရင္ ၂၀၁၇ နိုဝင္ဘာထုတ္ OnePlus 5T ဆိုရင္ RAM သုံးထားတာ 8GB တဲ့။ ဒါေပမယ့္ သူ႕လို highend ပဲ ၂၀၁၇ ေအာက္တိုဘာထုတ္ iPhone X မွာ 3GB ပဲရွိတယ္။ ၂၀၁၇ စက္တင္ဘာထုတ္ iPhone 8 plus မွာလည္း 3GB ပဲ။ iPhone 8 ဆိုရင္ 2GB ပဲရွိတယ္။ 2GB RAM သုံးတာ ၂၀၁၆ ထုတ္ iPhone 6s ကေန 8 အထိပဲ။ ဘာျပႆနာမွမရွိဘူး။ Samsung Galaxy Note 8 က 6 GB သုံးထားတယ္။ သူက ၂၀၁၇ စက္တင္ဘာထုတ္တာ။ ၂၀၁၇ ဧၿပီထုတ္ Galaxy S8+ လည္း 6GB ပဲ။ ၂၀၁၇ ေအာက္တိုဘာထုတ္ Google Pixel 2XL က 4GB သုံးတယ္။ ၂၀၁၄ ထုတ္ iPhone 6 ဆို 1GB မွ်သာ။ ေနာက္ဆုံးထုတ္iOS 11 ကို Run ေနနိုင္တာပဲ။ iOS ခမ်ာ Android လိုသာ RAM မ်ားမ်ားသုူံေနရရင္ iPhone ေဈးက ဒီထက္ေခါင္ခိုက္ဘို႔ရွိတယ္။




#Android_device_ေတြက_RAM_ပမာဏ_အမ်ားႀကီးလိုအပ္ရျခင္းအေၾကာင္း
အဦးအစကတည္းက Android ကို ပရိုဆက္ဆာ အမ်ိဳးအစားအစုံ၊ ထုတ္လုပ္သူ အမ်ိဳးမ်ိဳး၊ Hardware ဖြဲ႕စည္းပုံအမ်ိဳးမ်ိဳးကို ေထာက္ပံ့နိုင္ေအာင္ ဒီဇိုင္းထုတ္ထားရတာပါ။ software တခုကို System တခုအတြက္ ေရးထားလွ်င္ ဒီ software ကို အျခား system မွာ run လို႔မရဘူး။ ဒါပုံမွန္ပဲ။ Run ခ်င္ရင္ေတာ့ အျခား system နဲ႕ကိုက္ညီမႈရွိေအာင္ software ကိုျပန္ေရးရေတာ့မယ္။ အလုပ္ရႈပ္ၿပီ။ ဒါကို ေက်ာ္လႊားဘို႔လို႔ Android Apps ေတြကို Java platform မွာ ေရးၾကရေတာ့တယ္။ Java က အေတာ္အသုံးတည့္တယ္။ သူ႕ရဲ႕ Virtual Machine ေၾကာင့္ပါပဲ။ Application တခုကို Java ျဖင့္ ေရးလိုက္တာနဲ႕ အျခားဘယ္ system မွာမဆို run လို႔ရေအာင္ Virtual Machine က App ရဲ႕ code ေတြကို ဘာသာျပန္ေပးတယ္။ runtime တခုေတာ့ၾကာမွာေပါ့။ လူကိုယ္တိုင္ ျပန္ေရး ျပန္စုစည္းေနစရာမလိုေတာ့ဘူး။ Java ရဲ႕ Virtual Machine က ကိုယ့္အတြက္ ဒါကို ကိုင္တြယ္ေပးသြားတယ္။




ဒါေပမယ့္ တန္ေၾကးတခုေတာ့ ရွိတယ္။ Java ရဲ႕ Virtual Machine က ရႈပ္ေထြးတယ္။ RAM ပမာဏအမ်ားႀကီးလိုတယ္။ Virtual Machine ကိုယ္၌က RAM လိုသလို၊ သူ႕မွာ Run လာတဲ့ App အတြက္ မူလ Java code ကို ထိန္းသိမ္းထားဘို႔နဲ႕၊ ဘာသာျပန္လိုက္တဲ့ code ကို system က စီမံဘို႔လည္း RAM ကလိုျပန္တယ္။ ဒီေတာ့ RAM လိုအပ္ခ်က္က ပိုမ်ားတာသိပ္သိသာတယ္။
တဘက္ကလည္း Android ထဲက Virtual Machine ကလည္း ႏွစ္မ်ားစြာအတြင္းမွာ တိုးတက္သည္ထက္တိုးတက္လာေတာ့ RAM လိုအပ္ခ်က္ဟာ ေရွးကထက္နည္းလာၿပီ။ အျခားတဘက္ကလည္း Android ရဲ႕ App ေတြက အဆင့္ျမင့္သည္ထက္ျမင့္လာတယ္။ ေျပာရရင္ ေဖာင္းပြလာတယ္ေပါ့။ ဆိုေတာ့ ေမာင္းႏွင္ဘို႔ရာ RAM ကိုပိုလိုအပ္လာတယ္။ Android App တို႔ရဲ႕ ထုံးစံအတိုင္း ေနာက္ကြယ္ Background ကေနေမာင္းေနဘို႔ကလည္း RAM ကလိုေသးတယ္။
ေနာက္ဆုံးမွာ Android OS ကို Garbage Collection ဆိုတဲ့နည္းနဲ႕တည္ေဆာက္လိုက္တယ္။ “အမိႈက္သိမ္း” နည္းလို႔ေခၚရမယ္။ App ေတြကို လိုသေလာက္ RAM ေတြ သုံးဘို႔ခြင့္ျပဳလိုက္တယ္။ ၿပီးေတာ့မွ App တခုက သုံးၿပီးလို႔ မလိုအပ္ေတာ့တဲ့ မသုံးေတာ့တဲ့ တနည္းေျပာရရင္ အမိႈက္ျဖစ္လာတဲ့ RAM ထဲက ေဒတာေတြကို Android ကလိုက္ရွင္းတယ္။ အမိႈက္ရွင္းသြားမွ RAM ကို အျခား App ေတြ သုံးၾကရမွာကိုး။ ဒီနည္းက device မွာ RAM ပမာဏအမ်ားႀကီးသုံးထားရင္ေတာ့ ထိေရာက္မွာေပါ့။ မဟုတ္လို႔ကေတာ့ အမိႈက္ခ်ည့္သိမ္းရတာနဲ႕ အခ်ိန္ေတာ္ေတာ္ယူရမယ္။ (ဒါကို စက္ေလးတယ္ေျပာၾကတယ္။)
ဒီအေၾကာင္းေတြေၾကာင့္ပဲ စက္ကိုညက္ညက္ေညာေညာေလးသုံးခ်င္ရင္ အနည္းဆုံး RAM ပမာဏ 4GB ကို အႀကံျပဳတယ္။ ဒီေလာက္မွ မသုံးရင္ အနည္းဆုံး 2GB ေတာ့ရွိသင့္တယ္။

#iOS_device_က_Android_device_ကဲ့သို႔_RAM_မ်ားမ်ား_မသုံးရျခင္းအေၾကာင္း
Apple က iOS ေဂဟစနစ္တခုလုံးကို အႀကီးအက်ယ္ ထိန္းခ်ဳပ္ဘို႔ ႀကိဳးပမ္းထားတယ္။ ခင္ဗ်ားက iOS သုံးခ်င္တယ္ဆိုပါစို႔၊ ခင္ဗ်ားမွာ ေ႐ြးခ်ယ္စရာဖုန္း တမ်ိဳးတည္းပဲရွိမယ္။ iPhone ပဲရွိတာေပါ့။ iOS App ကိုေရးခ်င္ရင္၊ Apple ရဲ႕ ကရိယာေတြပဲသုံးရမယ္။ Apple နည္းလမ္းအတိုင္း ေရးေပေတာ့။ Apple ကေတာ့ စည္းမ်ဥ္းေတြ တင္းက်ပ္ထားတယ္။
ဒါေပမယ့္ ဒီလိုလုပ္ထား​ေတာ့လည္း အက်ိဳးေတြအမ်ားႀကီးရွိေနတယ္။
သူတို႔ရဲ႕ OS ကို run မယ့္ device တခုရဲ႕ အေသးစိတ္ေတြကို Apple ကေကာင္းေကာင္းႀကီး အတိအက်သိရွိထားေတာ့၊ သူတို႔ OS ရဲ႕ ဒီဇိုင္းကို လိုသလိုလုပ္နိုင္တယ္။ ဥပမာ – Android ဆိုရင္ Processor အမ်ိဳးမ်ိဳးနဲ႕ ကိုက္ညီေအာင္လုပ္ေနရခ်ိန္မွာ၊ iOS ကေတာ့ သူတို႔ရဲ႕ ARM အေျခခံ procesaor တခုတည္းမွာပဲ run တယ္။ ဆိုလိုတာက ကိုယ္စိတ္ႀကိဳက္တည္ေဆာက္ထားတဲ့ Processor ေပၚမွာ ကိုယ့္စိတ္ႀကိဳက္ OS ကိုေမာင္းႏွင္ေတာ့ ဘာမွ မကိုက္ညီစရာမရွိေတာ့ဘူးေပါ့။
iOS အေနနဲ႕ Android လို code ေတြကို ခ်က္ခ်င္းဘာသာျပန္ဘို႔ virtual machine လည္းမလိုဘူး။ App ေတြအားလုံးကို compile လုပ္တာလည္း ကိုယ့္ code နဲ႕ကိုယ္ပဲ။ ဒီ code ကို တိုက္ရိုက္ hardware ေပၚေမာင္းလိုက္႐ုံပဲ။ virtual machine ကို မလိုအပ္ဘူးဆိုတဲ့ အဓိပၸါယ္က RAM ပမာဏ သိပ္မသုံးဘူးဆိုတဲ့ အဓိပၸါယ္ပါ။




ဒါ့အျပင္ iOS ရဲ႕ memory အစီအမံက တမူထူးျခားတယ္။ Android က memory ကို OS ကကိုင္တြယ္ေပမယ့္၊ iOS ကေတာ့ App ေတြကို ကိုင္တြယ္ေစတယ္။ App ေတြကို သူတို႔စိတ္ႀကိဳက္ memory ေတြသုံးခြင့္ျပဳမယ္၊ ၿပီးေတာ့ OS ကလိုက္ရွင္းလင္းမယ္။ ဒီလိုလုပ္မယ့္အစား App ေတြကို သူတို႔လိုမယ့္ memory ကို ကိုယ္တိုင္ေနရာခ်ၿပီး ကိုယ္တိုင္ဖယ္ရွားရွင္းလင္းေစတယ္။ iOS က ဒီအလုပ္ကိုမလုပ္ဘူး။
အခ်ဳပ္ေျပာရရင္၊ iOS မွာ RAM နည္းတာဟာ စြမ္းေဆာင္ရည္ ညံ့တဲ့အဓိပၸါယ္မေဆာင္ဘူး။ iOS မွာ သီးျခား memory ကို ကိုင္တြယ္တဲ့နည္းလမ္းရွိတယ္။ Android လို Virtual Machine ေပၚ လံုံးဝ အားမထားေနဘူးဆိုတာေၾကာင့္ပဲ။
Translate by – Nyi Thway
❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎❄︎

No comments:

Post a Comment

မင်္ဂလာပါ..