ãã±ãŒã«ã®æ¹è¯
Android Nããã¯ããŠãŒã¶ãŒãè€æ°ã®ãã±ãŒã«ãèšå®ããããšãå¯èœã«ãªããŸãããã±ãŒã«ãšã¯ãèšèªãšå°åãçµã«ãããã®ã§ãããªããã®ããã«ããŠããã®ããšãããšãåãèšèªã䜿ã£ãŠããŠããã¢ã¡ãªã«ãšã€ã®ãªã¹ã§ã¯ç¿æ £ãªã©ã«éããããããã§ããèšèªãåãã§ããæ¥ä»ã®äžŠã³ãæ°å€ã®æ¡åºåããå°æ°ç¹ã®äœ¿ãæ¹ãªã©ã«éããåºãŸãããã®ããããè±èª-ç±³åœããªã©ã®ããã«ãèšèªãšå©çšå°åã察ã«ããããã±ãŒã«ããšããŠãèšèªã«ããããæ å ±ãæ±ããŸãã
ã¢ã³ããã€ãã®ãã±ãŒã«ã¯ãèšå® â èšèªãšå ¥å â èšèªãã§æå®ãããèšèªããçžåœããŸã(åç01)ãã¢ã³ããã€ãã®èšå®ç»é¢ã§ã¯ããEnglishãã«ãUnited StatesããšãUnited Kingdomããªã©ãåèš5ã€ããããŸã(åç02)ããããã¯ããã±ãŒã«ã§ã¯ããen_USã(è±èªã§ã¢ã¡ãªã«åè¡åœ)ããen_GBã(è±èªã§ã€ã®ãªã¹)ãšããæå³ã«ãªããŸãããæ¥æ¬èªãã¯ãja_JPãã§ããæ¥æ¬èªã§æ¥æ¬åœããšããæå³ã«ãªã£ãŠããŸãããã ãæ¥æ¬èªã®ããã«æ¥æ¬ã§ãã䜿ãããŠããªãèšèªã«é¢ããŠã¯ãåœã«ããéãããªããããã¢ã³ããã€ãã®èšå®ã§ã¯ãæ¥æ¬èªããšãã衚瀺ããŸããã
ãã±ãŒã«ã¯ãã¢ããªãã¢ã³ããã€ãèªäœã®ã¡ãã»ãŒãžãæ¥ä»è¡šç€ºãªã©ã®æ©èœã«åœ±é¿ãããããŸããå ·äœçã«ã¯ãã¢ããªãã¢ã³ããã€ããæã€ãæååããªã©ã®ããªãœãŒã¹ããåãæ¿ããå Žåã«èšå®ããããã±ãŒã«ã®æ å ±ãããšã«éžæãè¡ãããããã§ãã
ã¢ã³ããã€ãã®èšèªãåãæ¿ãããšãäžéšã®æšæºã¢ããªã®åç§°ãåãæ¿ãããŸããããšãã°ãè±èªããæ¥æ¬èªã«ãããšããClockãããæèšãã«ãªããŸããããã¯ãã¢ããªãå éšçã«æã£ãŠãããªãœãŒã¹ããã±ãŒã«ã«å¿ããŠåãåºããŠè¡šç€ºããŠããããã§ãã
ãŸããæ¥ä»ãæå»ã®ããŒã¿ãã衚瀺å¯èœãªæååã«å€æãã颿°(ã¢ããªãå éšã§å©çšãã)ãçŸåšã®ãã±ãŒã«èšå®ã«åãããŠåäœãåãæ¿ããŸãã
ããŠãåŸæ¥ã®ã¢ã³ããã€ãã§ã¯ããã±ãŒã«ããèšèªã決å®ããå Žåã«èšèªãšå°åãå®å šã«äžèŽãããã©ããããã¿ãŠããŸããã§ããããã®ãããå®å šäžèŽãããã±ãŒã«ããªãå Žåãå¿ ãå«ãŸããŠããen_USã«å¯Ÿå¿ãããªãœãŒã¹ã䜿ããã衚瀺ãè±èªã«ãªããŸãã
ããããAndroid Nããã¯ããã®åäœãåãæ¿ãããèšèªéšåã ãã®äžèŽãèŠãããã«ãªããŸãããGoogleã®éçºè åããµã€ãã«ããäŸã§ã¯ããfr_CHã(ãã©ã³ã¹èªã§ã¹ã€ã¹)ãããå ŽåãåŸæ¥ã®ã¢ã³ããã€ãã§ã¯ããfr_CHãããªããã°ãen_USãšãªã£ãŠããŸããããAndroid Nããã¯ãååã®ãfrãã ãã®äžèŽã調ã¹ãããã«ãªã£ãããããfr_FRã(ãã©ã³ã¹èªã§ãã©ã³ã¹)ãäžèŽãããã©ã³ã¹åãã®ãã©ã³ã¹èªè¡šèšãåºãããã«ãªããŸããå°åãéãã®ã§å®å šã§ã¯ãããŸããããå°ãªããšãããã©ã³ã¹èªãã話ããªã人ã«ãšã£ãŠã¯è±èªã§è¡šç€ºããããããããããããã§ãããã
ããã«Android Nã§ã¯ãè€æ°ã®ãã±ãŒã«ãç»é²(åç03)ã§ããããããã©ã³ã¹èªããªããã°ã¹ãã€ã³èªãšãã£ãéžæãã§ããããã«ãªãããã§ãã
|
åç03: Android Nã§ã¯ãè€æ°ã®èšèªãéžæããŠåªå é äœãä»ããããšãã§ãã |
æ¥æ¬èªã«ã¯ja_JPãããªãããã«ããŸãæ©æµããããŸããããè±èªããããã©ã³ã¹èªãåŸæãšãã£ã人ãªãã°ãfr_FRãªã©ãç»é²ããããšã§ãæ¥æ¬èªã«å¯Ÿå¿ããŠããªãã¢ããªã®å Žåã«è±èªã§ã¯ãªããã©ã³ã¹èªãåºããããã«ãªãå¯èœæ§ããããŸãã
ARTã®æ¹è¯
Android Nã®æ¹è¯ç¹ã®ãã¡ãå°å³ãªãããã¡ãªããããããããªã®ããART(Android Run Time)ã®æ¹è¯ã§ããããã«ãããã¢ããªã®å®è¡é床ãåäžãããšãããŸã(åç04)ã
ARTãšã¯ãã¢ã³ããã€ãã®ã¢ããªãå®è¡ããJavaã®ä»®æ³ãã·ã³ã§ããARTã¯ãAndroid 5.0ã§å°å ¥ãããŸããããã以åã®ä»®æ³ãã·ã³ã§ããDalvikãšã®å€§ããªéããšããŠãã€ã³ã¹ããŒã«æã«ã³ã³ãã€ã«ãè¡ããAhead of Timeã(AOTãå®è¡å)ã³ã³ãã€ã©ããããŸãããã¢ããªãé«éã«å®è¡ãããããAndroid 5.0ã§ã¯ãã€ã³ã¹ããŒã«æã«Dalvikä»®æ³ãã·ã³ã³ãŒããCPUãçŽæ¥å®è¡å¯èœãªæ©æ¢°èªã«ã³ã³ãã€ã«ããŠããŸãããã¢ããªã®èµ·åãéããªãåé¢ããã®æ¹åŒã§ã¯ãã€ã³ã¹ããŒã«ã«æéãããããŸããããã«å¯ŸããŠãDalvikã§ã¯ãå®è¡æã«æ©æ¢°èªãžã®ã³ã³ãã€ã«ãè¡ããJust In Timeã(JITãå®è¡äž)ã³ã³ãã€ã©ãæ¡çšããŠããŸããã
AOTã¯ãã€ã³ã¹ããŒã«ã«æéãå¿ èŠã«ãªããã®ã®ãPlayã¹ãã¢ããã®ã€ã³ã¹ããŒã«ãã¢ããããŒãã¯ãå é»äžã«è¡ãããå¯èœæ§ãé«ããªããŸãããšããã®ãPlayã¹ãã¢ã®èšå®ã§ã¯ãã¢ããããŒããç¡ç·LANæ¥ç¶æã«ã®ã¿éããã¢ãã€ã«ãããã¯ãŒã¯ã§ã®ã¢ããããŒããè¡ããªãå Žåã黿ºã«æ¥ç¶ãããŠããå¯èœæ§ãé«ããªãããã§ã(çŸåšã®Playã¹ãã¢ã®ããã©ã«ãèšå®ã¯Wi-Fiæ¥ç¶æã®ã¿èªåæŽæ°)ããã®ããã«ããããšã§ãã³ã³ãã€ã«ãããããªé§åäžã«è¡ãããªããªããããæ¶è²»é»åãæããããšãå¯èœã«ãªããŸãã
ããã«å¯ŸããŠãJITã³ã³ãã€ã©ã§ã¯ãã¢ããªãå®è¡ããªãããäœåãå®è¡ãããéšåã®ã¿ãã³ã³ãã€ã«ããŠãããŸããããããå®è¡äžã®ã³ã³ãã€ã«ã§ãããããããŸãæé©åãªã©ã«æéããããããšãã§ããŸãããã³ã³ãã€ã«ã«æéããããŠããŸããšã¢ããªã®å®è¡é床ãèœã¡ãŠããŸãããã§ãããŸããå®è¡æã®ã³ã³ãã€ã«ãªã®ã§ãåçŽãªå®è¡ãããããããªæ¶è²»éãå¢ãããšãã£ããã¡ãªããããããŸãã
Android Nã®ARTã¯ããã®ãšãã«ã¢ããªã®å®è¡ç¶æ³ã«é¢ããæ å ±(ãããã¡ã€ã«)ãèšé²ããŸã(åç05)ãAndroid Nã®ARTã¯ãååJITã³ã³ãã€ã©ã䜿ããã€ã³ã¹ããŒã«æã«ã¯ã³ã³ãã€ã«ãè¡ããŸãããããããå é»äžãã€ããŠãŒã¶ãŒãã¹ããŒããã©ã³ãå©çšããŠããªãæéã䜿ããã¢ããªã®ã³ã³ãã€ã«åŠçãè¡ãæ©èœããããŸã(åç06)ãããã¯ãå®è¡æã«åŸããããããã¡ã€ã«æ å ±ãå©çšããŠããããã¹ãããããšåŒã°ãããäœåãå®è¡ãããå Žæã®ã¿ã察象ãšããŠè¡ãããŸãããã®ãšãã«ã¯ãJITãšéã£ãŠæéå¶éããªãããã«ãé«ãã¬ãã«ã®æé©åãè¡ããŸãããããGoogleã¯ããProfile Guided Compilationã(ãããã¡ã€ã«ã§ã¬ã€ããããã³ã³ãã€ã«)ãšåŒãã§ããŸã(åç07)ã
AOTã®å Žåãå®è¡æã®æ å ±ããªããããå šäœãã³ã³ãã€ã«ããããšããã§ãããçµæãšããŠãã¢ããªãããå€ãã®ã¹ãã¬ãŒãžé åãå ããŠããŸããŸããããã¯ãã€ã³ã¹ããŒã«ããããã°ã©ã ãšã³ã³ãã€ã«ãããããã°ã©ã ã®äž¡æ¹ãä¿åããŠããããã§ããããã«å¯ŸããŠãJITæ¹åŒã§ã¯ãå®è¡æã«ã³ã³ãã€ã«ãè¡ããæ¬¡å以éã®ã³ã³ãã€ã«ãé«éã«ããããã®æ å ±ãä¿åããã ããªã®ã§ãããã»ã©ã¹ãã¬ãŒãžé åã䜿ããŸãããAndroid Nã®PGCã§ã¯ãMarsmhallowã®AOTæ¹åŒã»ã©ã¹ãã¬ãŒãžãæ¶è²»ããŸãã(åç08)ãæåã«èµ·åãããšãã«ã¯ãããããªå¢å (ã€ã³ã¹ããŒã«åŠçã«ãããã®ãšæããã)ã§ããã®åŸPGCãè¡ããããšå¢å ããŸãããå€ããŠã1.5åçšåºŠã«åãŸã£ãŠããŸããããã¯ãäºåã«æ©æ¢°èªã«å€æãããéšåããããã¹ãããã ãã«éãããããã§ããäžè¬ã«ããã°ã©ã ã§ã¯ã1%ã®éšåãå®è¡æéã®90%ã䜿ããšèšãããŠããã®ã§ãPGCã§ã³ã³ãã€ã«ãããéšåã¯ããã»ã©å€ããããŸããã
ããããæé©åãã©ã®çšåºŠãªã®ãã¯ãARTã®åºæ¥å ·åã«äŸåããŸãããå°ãªããšããã€ã³ã¹ããŒã«ã«æéãããã£ãŠã€ã©ã€ã©ããããšã¯ãªããªãã¯ãã§ãããŸããã·ã¹ãã ã¢ããããŒãçŽåŸã®èµ·åæã«ããã¢ããªãåã³ã³ãã€ã«ããã®ã«æéãããã£ãŠããŸãããåã³ã³ãã€ã«ã®æéãçãããããçæéã§ç«ã¡äžããããã«ãªãã¯ãã§ã(åç09)ãã°ãŒã°ã«ã®èª¬æã«ããã°ãã€ã³ã¿ãŒããªã¿(ã³ã³ãã€ã«ããŠããªãéšåãå®è¡ããæ©èœ)ãé«éåããŠãããšã®ããšã§ãå šäœãšããŠé床ã®åäžãæããã§ãããã








