Popular Posts

Wednesday, 5 December 2012

Android Fragmentation ရဲ႕ဆိုးက်ိဳးေတြ…font ကို version 3.0 နဲ႕ အထက္မွာသြားေရာက္အသံုးၿပဳတဲ႕အခါအဆင္မေၿပမႈေတြနဲ႕စတင္ၾကံဳေတြ႔ရ

Android Device မ်ားတြင္ App Crash ၿဖစ္သြားၿခငး္ၿပသနာႏွင္႔ Font ၿမင္လိုက္မၿမင္ လိုက္ၿဖစ္ ရၿခငး္ ၿပသနာ…

ကြ်န္ေတ္ာအခုတစ္ခါေၿပာၿပခ်င္တာကေတာ႔ Android smartphone ေတြ tablet ေတြမွာၾကံဳေတြ႔ေနရတဲ႕ App Crash ၿဖစ္သြားၿခငး္ၿပသနာႏွင္႔ Font မၿမင္ရၿခငး္ၿပသနာတို႔ပဲၿဖစ္ပါတယ္။ အခုအေၾကာင္းအရာဟာ font နဲ႕သာမက app ေတြကို install လုပ္ၿပီးသံုးလို႔မရတာ ဘာေၾကာင္႔လဲဆိုတာနဲ႕ လညး္ သက္ဆိုင္ ပါတယ္။ ဒါဆိုရင္ ကြ်န္ေတ္ာတို႔စလိုက္ၾကရေအာင္….။

Android Fragmentation ရဲ႕အစ….
ကြ်န္ေတ္ာအခုအရင္ဆံုးရွငး္ၿပခ်င္တာကေတာ႔ Android Fragmentation ဆိုတာပါပဲ..။ ဒါဆိုရင္ Android Fragmentation ဆိုတာကဘာလဲ…။ Android Fragmentation ဆိုတာကေတာ႔ Android Version 3.0 Honeycomb မွာမွစတင္မိတ္ဆက္ခဲ႕တဲ႕ နညး္ပညာတစ္ခုပါ။ ဒီ Version 3.0 မွစတင္ၿပီးအခုေနာက္ဆံုး version 4.1.2 Jelly Bean ထိတိုင္ Fragmentation ကိုsupport လုပ္ၿပီး User Interface (UI) ရ႕ဲ အလြန္အေရးပါတဲ႕အစိတ္အပိုငး္တစ္ခုၿဖစ္ပါတယ္။ ဒါဆိုရင္ Fragmentation အေၾကာင္းကိုေၿပာၿပခ်င္ပါတယ္။ Fragmentation ဆိုတာကေတာ႔ Fragment မွလာတဲ႕စကားလံုးပါ။ Android အဝနး္အဝိုငး္မွာဆိုရင္ Fragment ဆိုတာကေတာ႔ ကြ်န္ေတ္ာတို႔ မ်က္စိနဲ႕ၿမင္ရတဲ႕ Android smartphone ေတြ tablet ေတြရဲ႕ screen ေပၚက User Interface (UI) ရဲ႕အစိတ္အပိုင္းေလးတစ္ခုပဲၿဖစ္ပါတယ္။ Tablet ကဲ႕သို႔ screen size ၾကီးမားတဲ႕ device ေတြမွာဆိုရင္ dynamic ၿဖစ္တဲ႕ UI တစ္ခုကိုတည္ေဆာက္ဖို႔ Fragment ဆိုတာကိုအသံုးၿပဳလာရပါတယ္။ Fragment ကိုမ်က္လံုးထဲမွာဘယ္လိုၿမင္ၾကည္႔လို႔ရလဲဆိုရင္ ကြ်န္ေတာ္တို႔က Gmail App ကို ကြ်န္ေတ္ာတို႔ smartphone ကေနအသံုးၿပဳတယ္ဆိုပါေတာ႔။ ကြ်န္ေတ္ာတို႔ Gmail App ကိုစစဖြင္႔ခ်င္းၿမင္ရမွာကေတာ႔ Inbox ပဲၿဖစ္ၿပီး အဲ႕ဒီ Inbox ထဲမွာကိုယ္႔ဆီဝင္လာတဲ႕ mail တစ္ခုခ်ငး္ဆီကုိ list လုပ္ေပးထားပါတယ္။ အဲ႕လို list ထဲမွာမွ ေနာက္ဆံုးဝင္လာတဲ႕ mail ဟာ အေပၚဆံုးမွာရွိေနၿပီး ကြ်န္ေတ္ာတို႔ဟာအဲ႕ဒီ ေနာက္ဆံုးဝင္လာတဲ႕ mail ကိုႏွိပ္လိုက္ရင္ သူ႔ရဲ႕အေသးစိတ္အေၾကာငး္အရာကို ေရာက္ရွိသြားမွာ ၿဖစ္ပါတယ္။ ဒါဆုိရင္ဒီေနရာမွာ Fragment ဆိုတာက ေနာက္ဆံုးဝင္လာတဲ႕ mail ရွိေနတဲ႔ list ထဲက အေပၚဆံုးအစိတ္အပိုငး္ေလးပဲၿဖစ္ၿပီး fragment1 လို႔ယူဆလုိ႔ရပါတယ္။ list ထဲမွာ ဒုတိယရွိေနတဲ႕ mail ဟာ fragment2 အစရွိသၿဖင္႔တည္ရွိေနပါတယ္။ ဒါဆိုရင္ဒီေနရာမွာ fragment1 ေနာက္ဆံုးဝင္လာတဲ႕ mail ကိုႏွိပ္လုိက္ခ်ငး္က ကြ်န္ေတ္ာတို႔ အသံုးၿပဳသူကိုေနာက္ထပ္ UI (User Interface) တစ္ခုဆီကို navigate ေၿပာငး္ေပးသြားပါတယ္။ fragment2 (ဒီေနရာမွာ ဒုတိယရွိေနတဲ႕ mail) ကိုႏွိပ္လိုက္ရင္လညး္ ဒီ ဒုတိယ mail နဲ႕သက္ဆိုင္တဲ႕ ေနာက္ထပ္ UI တစ္ခုကို navigate လုပ္ေပးသြားပါတယ္။ ဒါဆိုရင္ ဒီလို fragment ေတြကုိအသံုးၿပဳရၿခငး္အေၾကာင္းအရင္းဟာ dynamic UI (သို႔မဟုတ္) multi-pane UI (အစိတ္အပိုငး္မ်ားစြာပါဝင္တဲ႕ UI) တစ္ခုကိုတည္ေဆာက္ေပးဖို႔အတြက္ပဲၿဖစ္ၿပီး screen size အမ်ိဳးမ်ိဳးကိုအေထာက္အပံ႔ေပးဖို႔အတြက္အသံုးၿပဳရၿခင္းၿဖစ္ပါတယ္။ အဲ႕ဒီအခ်ိန္မွာမွစတင္ၿပီး Android Fragmentation ဆိုတာကေပၚေပါက္လာတာပါ။

Android Fragmentation ရဲ႕ေကာငး္က်ိဳးနဲ႕ဆိုးက်ိဳးေတြ…

Android device ေတြသာမက Android ေပၚမွာေရးသားထားတဲ႕ app ေတြ font ေတြဟာဒီ fragmentation ကိုအသံုးၿပဳၿပီးတီထြင္ေရးသားလာၾကပါတယ္။ အခုလုိၿပဳလုပ္တဲ႕ေနရာမွာေကာငး္က်ိဳးေတြရွိသလိုဆိုးက်ိဳးေတြလညး္ရွိပါတယ္။

Android Fragmentation ရဲ႕ေကာင္းက်ိဳးေတြ…

Android Fragmentation ရဲ႕ေကာင္းက်ိဳးေတြကေတာ႔ ဒီ fragmentation ကိုအသံုးၿပဳၿခငး္အားၿဖင္႔ app ေတြ font ေတြဟာ device အမ်ိဳးမ်ိဳးနဲ႕ screen size အမ်ိဳးအမ်ိဳးကို အေထာက္အပံ႔ေပးၿပီးပုိမုိေကာင္းမြန္တဲ႕ User Interface (UI) တစ္ခုကိုတည္ေဆာက္လို႔ရပါတယ္။

Android Fragmentation ရဲ႕ဆိုးက်ိဳးေတြ…

Android Fragmentation ရဲ႕ဆိုးက်ိဳးေတြကိုေတာ႔ app developer ေတြေကာ smartphone ထုတ္လုပ္တဲ႕ vendor ေတြပါခံစားေနရပါတယ္။ ဘာ႔ေၾကာင္႔ဒီလိုခံစားေနရတာလဲဆိုေတာ႔ ကြ်န္ေတ္ာအေပၚကေၿပာခဲ႕သလိုပဲ Android Fragmentation ဟာ Android Version 3.0 Honeycomb မွာမွစတင္အသံုးၿပဳခဲ႕တာၿဖစ္ၿပီး Honeycomb နဲ႕ေနာက္ပိုငး္ version ေတြကုိသာအေထာက္အပံ႔ေပးပါတယ္။ Android version 1.0 ကေန 2.3 Gingerbread ထိေအာင္ Fragmentation ကို support မလုပ္ပါဘူး။ ဒီလို support မလုပ္တဲ႕အတြက္ app ေရးသားတဲ႕ developer မ်ားသာမက smartphone ထုတ္လုပ္တဲ႕ vendor မ်ားပါ User Interface ေတြ ကုိတည္ေဆာက္တဲ႕အခါအလြန္ေခါငး္စား အလြန္ခတ္ခဲခဲ႕ပါတယ္။ Google ကေနၿပီးေတာ႔ app ေရးသားတဲ႕ developer မ်ားနဲ႕ vendor ေတြအတြက္ compatibility package ေခၚ android-support-v4 ဆုိတဲ႕ library (သို႔) API ကိုထုတ္ေပးခဲ႕ၿပီး ဒီ API ကဘာလုပ္ေပးသလဲဆိုေတာ႔ခုနကေၿပာခဲ႕တဲ႕ fragmentation ကို Android version 1.0 နဲ႕ 2.3 ေတြမွာအသံုးၿပဳလို႔ရေအာင္ၿပဳလုပ္ေပးပါတယ္။ ဒါေပမယ္႔ ၁၀၀%ႏႈနး္ေတာ႔ေကာငး္မြန္မႈမရွိပဲလုိအပ္ခ်က္ေတြရွိပါေသးတယ္။

Android ရဲ႕ App ႏွင္႔ Font ၿပသနာရဲ႕အစ…

ဒါေၾကာင္႔ developer တစ္ေယာက္က app တစ္ခု font တစ္ခုကိုေရးသားတယ္ဆိုပါေတာ႔အမ်ားစုဟာ Android version 2.3 Gingerbread ကုိပဲ target လုပ္ၿပီးေရးသားခဲ႕ၾကပါတယ္။ ဒါဟာဘာလို႔လဲဆိုရင္ အခုလက္ရွိ၂၀၁၂ Android market share အရ version 2.3 Gingerbread ဟာ market share ရဲ႕ ၅၅.၄% ႏႈန္းကိုပိုင္ဆိုင္ထားပါတယ္။ Android verison 2.2 Froyo က ၂၀.၅% ႏႈန္းပိုင္ဆိုင္ထားၿပီး က်န္တာေတြကေတာ႔ version 3.0 Honeycomb version 4.0 Ice-Cream Sandwich နဲ႕ version 4.1 Jelly Bean တို႔က အနညး္ငယ္စီပိုင္ဆိုင္ထားပါတယ္။ ဒါေၾကာင္႔ App တစ္ခု (သုိ႔) Font တစ္ခုကို version 2.3 ကို target လုပ္ၿပီးေရးသားထားတဲ႕အခါ ဒီ app (သို႔) ဒီ font ကို version 3.0 နဲ႕ အထက္မွာသြားေရာက္အသံုးၿပဳတဲ႕အခါအဆင္မေၿပမႈေတြနဲ႕စတင္ၾကံဳေတြ႔ရေတာ႔တာပါပဲ။ ဘာလို႔လဲဆိုေတာ႔ ဒီ app ေတြဒီ font ေတြမွာ UI အစိတ္အပိုငး္ေတြမ်ားစြာပါဝင္မွာၿဖစ္ၿပီးဒီ UI အစိတ္အပိုငး္ေတြကို Android ကေနပံုေဖာ္ၿပတဲ႕အခါမွာ ၿပသနာစတင္ေတာ႔တာပါပဲ။ ဒါဟာဘာ႔ေၾကာင္႔လဲဆိုေတာ႔ Android 3.0 နဲ႕အထက္က UI ေတြကိုပံုေဖာ္ၿပတဲ႕အခါမွာ fragment ေတြအသံုးၿပဳၿပီးပံုေဖာ္ၿပတာၿဖစ္ၿပီး ဒီ OS ေပၚမွာ run တဲ႕ appေတြ font ေတြ ကပံုေဖာ္ၿပတဲ႕အခါမွာေတာ႔ fragment ကိုသံုးၿပီးပံုေဖာ္ၿပခ်င္ေပမယ္႔ version 2.3 ကို target လုပ္ၿပီးေရးသားထားတာၿဖစ္တဲ႕အတြက္ ပံုေဖာ္ၿပတဲ႕အခါမွာ fragment နဲ႕ၿပလို႔မရပဲ နဂိုမူလကေရးသားထားတဲ႕အတိုငး္ပဲ fragment မသံုးထားတဲ႕ အစိတ္အပိုငး္ေတြအေနနဲ႕ပဲၿပသေပးပါေတာ႔တယ္။ အထက္ကေၿပာခဲ႕သလို Google ကေနၿပီး android-support-v4 ကို app developer မ်ားအတြက္ fragment နဲ႕အဆင္ေၿပေအာင္ထုတ္ေပးထားေသာ္လညး္ တစ္ကယ္ UI ကိုေဖာ္ၿပတဲ႕အခါမွာေတာ႔ အဆင္ေၿပလိုက္မေၿပလိုက္ၿဖစ္လာပါေတာ႔တယ္။ ဒါဟာဘာလဲဆိုေတာ႔ Android Fragmentation နဲ႕ app ေတြ font ေတြဟာ compatibility (သဟဇာတ) မၿဖစ္တာပဲၿဖစ္ပါတယ္။ တစ္ခါတစ္ခါ မွာဆိုရင္ ကိုယ္က app တစ္ခုကိုဖြင္႔လိုက္ရင္လညး္ တက္မလာပဲ “The application has stopped unexpectedly.” ဆိုတဲ႕ message တက္လာၿပီးရပ္သြားပါတယ္။ ဒါေတြဟာဘာ႔ေၾကာင္႔လဲဆိုေတာ႔ ခုနကေၿပာခဲ႕တဲ႕ Android Fragmentation နဲ႕ေရးသားထားတဲ႕ app ဟာ သဟဇာတမၿဖစ္လို႔ပါ။ Font မွာလညး္ဒီအတိုငး္ပါပဲ။ Font တစ္ခုကိုေရးသားထားတ႕ဲ developer တစ္ေယာက္က Version 2.3 အတြက္ေရးသားခဲ႕တယ္ဆိုပါေတာ႔။ ဒီ font app ကို version 4.0 (သုိ႔) 4.1 မွာသြားေရာက္အသံုးၿပဳတဲ႕အခါမွာေတာ႔ font ကိုၿမင္လိုက္မၿမင္လိုက္ၿဖစ္ေနပါတယ္။ ဒါဟာဘာေၾကာင္႔လဲဆိုေတာ႔ ခုနကေၿပာခဲ႕တဲ႕ Android Fragmentation Issue ေၾကာင္႔ပဲၿဖစ္ပါတယ္။

Android Fragmentation နဲ႕အနာဂတ္အလားလာ…

ဒီ Fragmentation Issue ဟာခုထိတိုင္ေအာင္တည္ရွိေနၿပီး ေနာက္ပိုငး္လညး္ ဆက္လက္တည္ရွိေနဦးမွာၿဖစ္ပါတယ္။ Google အေနနဲ႕ကေတာ႔ android-support-v4 API ကိုထုတ္ေပးရံုကလြဲၿပီး က်န္တဲ႕ၿပသနာေတြကေတာ႔ App Developer ေတြနဲ႕ Smartphone Tablet Vendor ေတြနဲ႕သာသက္ဆိုင္ပါတယ္…။

Android Fragmentation ေၾကာင္႔ေကာငး္က်ိဳးေတြရွိလာသလို အခုလိုဆိုးက်ိဳးေတြကိုလညး္ေတြ႔ၾကံဳရမွာၿဖစ္တဲ႕အေၾကာငး္ IT4M ကေနမွတစ္ဆင္႔ Android ကိုအသံုးၿပဳတဲ႕ user ေတြအက်ိဳးရွိေအာင္ေဖာ္ၿပေပးရၿခငး္ပဲၿဖစ္ပါတယ္…။

ဆက္လက္ၾကိဳးစားပါဦးမည္….။


No comments:

Post a Comment