meh okkoma automation tasks run wenakota battery eka dawsakwath thiyaganna puluwanda?
Tasker ගැන දන්න කෙනා දන්නවා.
Tasker පට්ටම battery efficency එකක් තියන app එකක්.
සාමාන්ය use වෙන එකයි tasker ඔය automations use කරන එකයි වෙනසක් නැති තරම්.
Monitoring profiles හැදුවොත් ඒවාට තමයි battery drain වෙන්නෙ.
මෙවා ඔක්කොම event listners.
Programming දන්නා උන් ඉන්නවා මෙවා polling වලයි event listners coding style එකෙයි වෙනස
Android api වල සියලුම events inbuilt තියනවා. 3rd party app එකෙන් කරන්නෙ ඒ event handler එකට listners එක සෙට් කරන එක විතරයි.
එතකොට Android systen එකෙන් තමයි ඒ අදාල event එක වෙන වෙලාවෙදි ඊට ATTACH කරපු listners වල codes execute කරන්නෙ.
හිතන්න මෙහෙම. database එකක් තියනවා මුළු database එකම memory එකට load කරලා කොහොමත් run වෙනවා.
තව Service එකක් ඒක run වෙලා තියනවා database එකට quary කර කර අහනවා අර දේ ද වෙන්නෙ මේ දේ ද වෙන්නෙ කියලා. ආ එහෙම වෙනවා නම් මගේ සර්විස් එකේ මේ Program කොටස මම රන් කරනව.
ඔන්න oya style එකට තිබුනොත් database එක quary වෙද්දී load එක වැඩි වෙනවා. Service එකත් memory කන කොට power ගොඩක් use වෙනවා.
නමුත් event listner එකක් තියෙන කොට එක වෙන්නෙ මෙහෙම.
Database එකේ ම තියනවා අදාල දේ වෙන්කොට announcement එකක් යනවා. මේ දේ ඔන්න මම කරනවා කියලා. ඒක listner එකක් සෙට් කරලා තියනවා නම් ඒවා run වෙනවා. එතකන් systen එක මෙමරි එකයි වත් නැහැ. එතකොට පට්ටම අඩුයි power use එක.
තව සරල උදාහරණයක් කිව්වොත්.
Hospitsl එකක් තියනවා කියලා හිතන්න එකේ room එකක් ඇතුලේ ලෙඩුන් ගෙ report වාගයක් doctor කෙනෙක් check කරනවා.
ලෙඩුන් ටික දොර ගාවට ඇවිත් සැරෙන් සැරේ අහනවා මගේ නම මෙක. මගේ report එක බැලුවා ද doctor කියලා. තව වැඩේට අදාල නැති ලෙඩුන් පාවා ඇවිල්ලා වෙන වෙන කතන්දර අහනවා අරක කරනවද අහනවා මෙක කරනවද අහනවා.
ලෙඩුන් බර ගාණක් ඇවිත් ඔය වැඩේ කරන කොට doctor ට report check කරගන්න අමාරුයි මහන්සිය වැඩියි ලෙඩුන් ට උත්තර දෙන්න ඕන ලෙඩුනුත් මහන්සි වෙලා එතැන දොස්තරත් මහන්සියි.
දැං tasker එකේ වෙන්නෙ මෙහෙම උදාහරණයක් විදිහට.
අර වගේ ම room එකේදි doctor report check කරනවා.
ලෙඩුන් ටික ඔක්කොම එළියේ room එකේ නිදි.
Doctor ළඟ ඉන්නවා helper කෙනෙක් (අපි මෙයාට කියමු events handler කියල)
මෙයා doctor ට එකින් එක reports දෙනව check කරන්න (event dispatch)
මෙයා events handle කරන නිසා මෙයා දන්නවා දැන් ඇතුලේ වෙන්නෙ මොන වැඩේ ද කොයි ලෙඩුන් ද check වෙන්නෙ කියලා.
මෙයා දොර ඇරගෙන ගිහිං අදාල ලෙඩාව නැගිටවලා report එකෙ විස්තර දෙනව. වෙන දෙයක් කරොත් ඊට අදාළ රෝගීන් ට Infomation දෙනව.
ලෙඩුන් ටිකට තියෙන්නෙ අදාල section එකට ඇවිල්ලා නිදාගෙන ඉන්න විතරයි. Active වත් ඉන්න ඕනේ නැහැ.
මේ අදාල දේ ට නිදාගෙන ඉන්න ඕන අදාල sections ටික design කරලා තියෙන්නෙ රෝහල විසින් මයි. (Android system එකෙන් මයි. හිතන්නකෝ wifi turn on වෙන්කොට wifi කියලා folder එකක් හදල ඒක ඇතුලේ ssid එකෙන් sub folder එකක් හදල දානවා කියල tasker එකෙන්. ඒ ඇතුලේ text file එකක වෙන්න ඕන Program එකේ නම විස්තර save වෙලා තියනවා. මොකුත් run වෙලා නෑ. Wifi connect වෙද්දී android system එක design කරලා තියනවා මෙහෙම folder එකක් තියනවා ද බලන්න. ඇතිනම් ඒ ඇතුලේ තියෙන දේ අදාල විදිහට execute කරනවා. Android වල හැම event එකකම ඕක වෙනවා. මෙතැන folder කියල කිව්වෙ සරල කරන්න. මීටත් වඩා efficency වැඩි දෙයක් වෙන්නේ )
එතකොට power usage එක බොහොම අඩුයි.
3rd party app එකට තියෙන්නෙ අදාල section එකට listner එකක් දාලා තියන්න විතරයි. Android api එකෙන් call වෙනවා event එක වෙන අවස්ථාව අවම. එතකන් code මොකුත් execute වෙන්නෙ නැති නිසා battery බහින්න process power eat කරන්නේ නැහැ.
(gym එකට යනකන් gym එකට අදාළ ප්රොෆයිල් ඔක්කොම off වෙන්නත් හදන්න පුළුවන්, තරම් advanced and efficient විදිහට app එක හදල තියෙන්නේ.)