ගොඩ දෙනෙක්ට තියන ප්රශ්නයක් තමයි ඇයි මේ Android app වලට වඩා iOS app වල size එක වැඩි කියන එක.

ඒකට හේතු කිහිපයක් ම තියෙනවා. අපි බලමු මොනවද ඒ කියලා.
iOS වලදී Android වලට සාපේක්ෂව High-resolution images වැඩිපුර එකතු කරන්න වෙනවා. විශේෂයෙන්ම Splash screen එකක් ගත්තොත් device කිහිපයකට අදාල වෙන high-res images කිහිපයක් ඇතුලත් කරන්න වෙනවා. මේක Android වලදී කරන්නේ device එකෙන් device එකට නෙවෙයි, screen size group වලට අනුවයි. ඒ වගේම Android වලදි අපි ගොඩක් වෙලාවට vector images use කරන නිසා size එක අඩුයි.
Android apk කියන්නේ compress කරපු file එකක් (winrar වලිනුත් open කරන්න පුලුවන් ද කොහෙද) ඒත් iOS වලදි build වෙන bundle එක encrypt කරපු file එකක්. Encrypt කරලා compress කලාම, compressing engine එකට එක වගේ code මොනවද කියලා හොයාගන්න බෑ.
(Basic compressing engine එකක් වැඩ කරන්නේ එක වගේ දේවල් නැවත නැවත තියන තැන් වලින් අයින් කරලා, ඒ වෙනුවට එක සංඥාවක් භාවිතා කරනවා වගේ දෙයක් කරලා) ඒක නිසා හරියට compress කරන්න බැරි වෙනවා.
iOS වලදි hardware වලට ගැලපෙනම විදිහට optimization කරලා තියෙන්නේ කියලා අහලා ඇති. අන්න ඒක කරන්නේ processor එකේ තියෙන instruction වලට කෙලින්ම call කරන functions හරහා. එතකොට iOS වල build වෙන app එකක, ARM 6 වලට, ARM 7 වලට වශයෙන් එකම bundle එක ඇතුලේ code එක වෙන වෙනම duplicate වෙනවා.
මීට අමතරව iOS app bundle එකක iPad වලට, iPhone වලට වගේ හැම එකකටම අදාල codes, resources තියනවා ලු. ඒත් දැන් නම් ඒක App Store එකෙන් manage කරනවා කියලා කියනවා. (මම Apple වැඩිය use කරන්නේ නැති නිසා ඉස්සරයි, දැනුයි කොහොමද වෙනස කියන එක මීටර් නෑ). Android වලත් මේ සීන් එක Android App Bundles වලින් දැන් කරනවා. ඒක නිසා අදාල device එකට අදාල resources ටික විතරයි ලු download වෙන්නේ.
ඔය වගේ සීන් නිසා සාමාන්යය Android app එකකට වඩා, ඒ functionalities ම තියන iOS app එකක්, ඒ වගේ 5 ගුණයක් විතර size වෙනවා කියලා තමයි කියන්නේ. ඒත් develop කරන කෙනා විසින් ලියන code ප්රමාණය එකයි. ඉතුරු ටික එකතු වෙන්නේ code එක compile කරද්දී.