Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÏÐÓã»ùÓÚFlutterµÄÒÆ¶¯¶Ë¿çƽ̨ӦÓÃʵ¼ù
 
  2773  次浏览      27
 2018-9-17
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°,½éÉÜÁËRobotium×Ô¶¯»¯²âÊÔ¿ò¼ÜµÄ³£ÓÃÓï·¨£¬ÊµÕ½ÏîÄ¿£¬ÌØÊâÉèÖõÄ˵Ã÷µÈ¡£

ÏÐÓãΪʲôʹÓà Flutter

Flutter ×÷Ϊ Google ÐÂÒ»´úµÄ¿çƽ̨¿ò¼Ü£¬Óн϶àµÄÓŵ㣬µ«¸úÆäËû¿çƽ̨½â¾ö·½°¸Ïà±È£¬×îÎüÒýÎÒÃǵÄÊÇËüµÄ¸ßÐÔÄÜ£¬¿ÉÒÔÇáËɹ¹½¨¸üÁ÷³©µÄ UI¡£ËäÈ»¸÷¿çƽ̨·½°¸¶¼Óи÷×ÔµÄÌØµã£¬µ« Flutter µÄ³öÏÖ£¬¸øÏÐÓã¡¢¸ø´ó¼Ò¶¼ÌṩÁËÒ»ÖÖеĿÉÄÜÐÔ¡£

ÄÇô£¬Flutter Ϊʲô»áÓиßÐÔÄÜÄØ£¿

Ê×ÏÈ£¬Flutter ×Ô½¨ÁËÒ»¸ö»æÖÆÒýÇæ£¬µ×²ãÊÇÓÉ C++ ±àдµÄÒýÇæ£¬¸ºÔðäÖȾ£¬Îı¾´¦Àí£¬Dart VM µÈ£»ÉϲãµÄ Dart Framework Ö±½Óµ÷ÓÃÒýÇæ¡£±ÜÃâÁËÒÔÍù JS ½â¾ö·½°¸µÄ JS Bridge¡¢Ïß³ÌÌøÔ¾µÈÎÊÌâ¡£

µÚ¶þ£¬ÒýÇæ»ùÓÚ Skia »æÖÆ£¬²Ù×÷ OpenGL¡¢GPU£¬²»ÐèÒªÒÀÀµÔ­ÉúµÄ×é¼þäÖȾ¿ò¼Ü¡£

µÚÈý£¬Dart µÄÒýÈ룬ÊÇ Flutter ÍŶÓ×öÁ˺ܶà˼¿¼ºóµÄ¾ö¶¨£¬Dart ÓÐ AOT ºÍ JIT Á½ÖÖģʽ£¬ÏßÉÏʹÓÃʱÒÔ AOT µÄ·½Ê½±àÒë³É»úÆ÷´úÂ룬±£Ö¤ÁËÏßÉÏÔËÐÐʱµÄЧÂÊ£»¶øÔÚ¿ª·¢ÆÚ£¬Dart ´úÂëÒÔ JIT µÄ·½Ê½ÔËÐУ¬Ö§³Ö´úÂëµÄ¼´Ê±ÉúЧ£¨HotReload)£¬Ìá¸ß¿ª·¢Ð§ÂÊ¡£

µÚËÄ£¬Flutter µÄÒ³ÃæºÍ²¼¾ÖÊÇ»ùÓÚ Widget Ê÷µÄ·½Ê½£¬¿´ËƲ»Ï°¹ß£¬µ«ÕâÖÖÊ÷×´½á¹¹½âÎö¼òµ¥£¬²¼¾Ö¡¢»æÖƶ¼¿ÉÒÔµ¥´Î±éÀúÍê³É¼ÆË㣬¶øÔ­Éú²¼¾ÖÍùÍùÒªÍù¸´¶à´Î¼ÆË㣬¡°simple is fast¡±µÄÉè¼ÆÐ§¹û¡£

ÏÂÃæ½ØÍ¼ÊÇĿǰÏÐÓãÒѾ­ÉÏÏßµÄÉÌÆ·ÏêÇéÒ³Ãæ£º

ÉÌÆ·ÏêÇéÒ³°üº¬»ìºÏÕ»¡¢ÊÓÆµ¡¢¶¯»­¡¢Ô­Éú×é¼þ¡¢¶àͼ¡¢ÁôÑÔ¸ÇÂ¥µÈ¹¦ÄÜ£¬Ò³Ãæ½Ï¸´ÔÓ£¬Óдú±íÐÔ£¬Ò²ÊÇÏÐÓã×îÖØÒªµÄÒ³ÃæÖ®Ò»¡£Ñ¡ÔñÉÌÆ·ÏêÇéÒ³×öΪµÚÒ»¸ö Flutter Ò³Ãæ£¬ÊÇÏÐÓãÄܳɹ¦¿ìËÙʹÓÃÆð Flutter µÄÖØÒªÒòËØ¡£

½ÓÏÂÀ´½éÉÜһϣ¬ÏÐÓãµÄʵ¼ù¹ý³ÌºÍ×ܽᡣ

>Flutter Óë Native »ìºÏ¿ª·¢Êµ¼ù

Flutter Hybrid ¹¤³Ìʵ¼ù£¨Ñз¢Ê±£©

ÎÒÃÇ°Ñ Flutter ºÍÏÐÓãÏÖÓÐµÄ APP ×ö½¥½øÊ½µÄÕûºÏ£¬App ÖлáͬʱÓÐ Native¡¢Flutter ºÍ H5 Ò³Ãæ¡£ÏÖÓÐµÄ Flutter Demo ºÍÓ¦Ó㬶¼ÊǶÀÁ¢µÄ Flutter Ó¦Ó㬶øµ±°ÑËüºÍ Native »ìºÏµÄʱºò£¬»áÅöµ½ºÜ¶àµÄÀ§ÄÑ¡£

Ê×ÏÈÊÇÑз¢Ê±µÄÎÊÌ⣬ÔõôÈà Flutter ÔÚÏÖÓÐµÄ Native ¹¤³ÌÖпª·¢ÆðÀ´¡£Õâ¸öÒª´ÓÕâÕÅͼ˵Æð£º

ÏÐÓã Flutter ¹¤³Ì½á¹¹Èçͼ£¬Èý¸öÀ¶É«±³¾°µÄĿ¼·Ö±ðÊǰ²×¿¹¤³Ì¡¢iOS ¹¤³ÌºÍ main.dart Èë¿Ú¡£±àÒë²úÎïÖÐÒÔ iOS ΪÀý£¬APP Framework ÊÇ Flutter Ó¦ÓÃÒ³Ãæ´úÂ룬Flutter Framework ÊÇ Flutter ÒýÇæ¡£

Õâ¸ö¹ý³Ì£¬ÐèÒªÖØµã¿¼ÂǼ¸¸öÎÊÌ⣺ÈçºÎ»ùÓÚÏÖÓй¤³Ì´î½¨»ìºÏ¹¤³Ì£¿ÈçºÎÖ§³Ö¹ý¶ÉÆÚµÄ Flutter ¿ª·¢¼°´¿ Native ¿ª·¢µÄË«¿ª·¢Ä£Ê½£¿ÈçºÎÈà Flutter ÓëÏÖÓгÖÐø¼¯³É¡¢¹¹½¨¹¤¾ß¼¯³É£¿

Ê×ÏÈ£¬ÏÖÓÐµÄ Native ¹¤³Ì²¢²»·ûºÏ Flutter ĬÈϵĹ淶£¬Á½Õß²»ÄÜÍêȫƥÅ䣬ÐèÒªÐ޸Ĵò°ü½Å±¾£¬ÉõÖÁÐÞ¸Ä Flutter µÄ´ò°ü Tool À´½â¾ö¡£ÁíÍ⣬ÎÒÃÇͨ¹ý Submodule ½«ÏÖÓÐ?³ÌÒýÈëµ½ Flutter ¸¸¹¤³ÌÖС£

´¿ Native ¿ª·¢Í¬Ñ§£¬²»ÐèÒªÒýÈë Flutter ¹¤³Ì£¬Ö±½ÓÔÚ iOS »ò Android ¹¤³ÌÏ¿ª·¢£¬Flutter ÒÔ²úÎïµÄ·½Ê½¼¯³Éµ½ Native ÖÐÔËÐУ¬Flutter µÄ¿ª·¢Í¬Ñ§ÒýÈë Submodule¡£

ÉÏͼÊǹ¤³ÌÉϵÄÐ޸ĵ㡣ÂÌÉ«ÐéÏß²¿·ÖÊÇ Flutter ĬÈϵĽṹ£¬ºìÉ«ÐéÏßÊÇÏÐÓãÔÚ Flutter »ù´¡ÉÏ×öµÄ¶¨ÖÆ¡£Flutter µÄ¹¹½¨¹¤¾ß gen_snapshot£¬»á°ÑÒµÎñ´úÂ룬Flutter ¿ò¼Ü¡¢ÒýÇæ±àÒë³ÉÖмä²úÎÒÔ so »ò Framework µÄ·½Ê½±ä³É Native µÄÒ»²¿·Ö¡£

¼¸¸öÖ÷ÒªµÄ¸Ä¶¯µã£º

µÚÒ»£¬¹¹½¨Ë½ÓеIJֿ⣬ÓÃÀ´¹ÜÀí°¢Àï˽Óаü£¬Èç CDN¡¢ÎÞÏßÍø¹ØµÈÖмä¼þÊÊÅä Package¡£

µÚ¶þ£¬¹¹½¨¹¤¾ßºÍÒýÇæµÄÓÅ»¯¡£

µÚÈý£¬¸úÏÖÓеĹ¹½¨¹¤¾ß´òͨ£¬»ìºÏµ÷ÊԵȡ£

Flutter Hybrid Õ»¹ÜÀí

³ýÁËÉÏÊöµÄÑз¢Ê±ÎÊÌ⣬½ÓÏÂÀ´¾ÍÊÇÈÃËüÅÜÆðÀ´£¬½â¾öÔËÐÐʱÎÊÌâ¡£ÆäÖÐ×îÖØÒªµÄÊÇʵÏÖ»ìºÏÕ»¡£

»ìºÏÕ»µÄ¶¨Òå

ÔÚ»ìºÏ¹¤³ÌÖУ¬Native Ò³Ãæ£¬Flutter Ò³ÃæÖ®¼ä»áÒÔ¶àÖÖ¿ÉÄܵÄ˳Ðò»ìºÏÈëÕ»£¬³öÕ»¡£ÒªÔõôȥ×ö£¿ÏÈ¿´Ò»Ï Flutter ÄÚ²¿Õ»µÄ¹ÜÀíĬÈÏÏÂÊÇÔõô×öµÄ£º

Õû¸ö Flutter ÔËÐÐÔÚÒ»¸öµ¥ÀýµÄ Activity ÈÝÆ÷ÀÓð²×¿¾ÙÀý£©£¬Flutter ÄÚ²¿µÄËùÓÐÒ³Ãæ¶¼ÔÚÕâ¸öÈÝÆ÷ÖйÜÀí¡£ ¶Ô°²×¿À´Ëµ£¬ÔõÑù°ÑÕâÑùÈÝÆ÷ÀïÃæµÄÕ»Óë Native Õ»»ìºÏÆðÀ´£¬Ö±½ÓµÄÒ»¸öÏë·¨¾ÍÒª°ÑÕ»×Ô¼ºÍÐ¹ÜÆðÀ´£¬°ÑÕâ¸öÈÝÆ÷ÔÚ Android µÄÕ»ÖÐÀ´»ØÒƶ¯¡£µ« Android ÀïÏëÕâÑù²Ù×÷·Ç³£ÄÑ¡£

ËùÒÔ½â¾öÕâ¸öÊÂÇ飬¾ÍÖ÷ÒªÓÐÁ½¸öÎÊÌâÒª¿¼ÂÇ£¬Ê×ÏȾÍÊÇ»ìºÏÕ»ÒªÔÚÄÄÀï¹ÜÀí£¿ÊÇÔÚ Hybrid Õ»¹ÜÀí£¬»¹ÊÇÔÚ Flutter ¹ÜÀí£¬µÚ¶þ¸ö¾ÍÊǹØÓÚʵÀý°þÀëµÄÎÊÌ⣬¼ÈÈ»ÒÆ¶¯µ¥ÀýºÜ¸´ÔÓ£¬ÄǾͰѵ¥Àý°þÀë³öÀ´£¬ÔÚÉÏÃæ Wrap ³ö¶à¸öʵÀý£¬ÕâÑù¾Í·½±ã¹ÜÀíÁË¡£ ÏÂÃæÊÇÁ½¸ö¶Ô±È·½°¸¡£

ÕâÁ½ÖÖ·½°¸¶¼ÊÇ¿ÉÑ¡µÄ£¬·½°¸Ò»¾ÍÊÇ°Ñ Flutter Ö±½Ó±ä³É¶àÀý£¬Ã¿¸ö Flutter Ò³ÃæÖØÐÂÆô¶¯Ò»¸ö Flutter µÄÈÝÆ÷£¬Ã¿¸ö Flutter Ò³Ãæ¾ÍÏñͨ³£Ê¹Óà WebView Ò»Ñù£¬Õâ¸ö·½±ãÎÒÃÇ×öÁËʵ²â£¬·¢ÏÖËüµÄÆô¶¯ËÙ¶ÈÓÐÓ°Ï죬Äܸоõµ½Ò»Ð©¿¨¶Ù£¬ÁíÍ⣬»¹ÓÐÒ»¸öÎÊÌ⣬µ±ÎÒÏëÔÚÁ½¸öÒ³ÃæÖ®¼äÈ¥¸´ÓÃÊý¾ÝµÄʱºò£¬ÄÇÁ½¸öÒýÇæÖ®¼äÊÇÍêÈ«¸ôÀëµÄ£¬×îºóÊý¾Ý²»ºÃ¸´ÓᣠÕâ¸ö·½°¸µÄºÃ´¦ÊǺܼòµ¥£¬Èç¹ûϲ»¶¸ôÀëÐÔ£¬Ò²¿ÉÒÔ±ä³ÉÓŵ㡣

µÚ¶þÖÖ·½°¸£¬¾ÍÊÇ×ödz²ãµÄµ¥Àý°þÀ룬¾¡Á¿¶àµÄ×ñÊØ Flutter µÄ±ê×¼ÔËÐз½Ê½£¬ÒÔ×îСµÄÓ°Ïì°Ñµ¥Àý°þÀë³öÀ´£¬Wrap ³É¶àÀý¡£

ÕâÖÖ·½°¸ÊÇÔÚ Flutter View ÕâÒ»²ã°þÀ룬¹ØÓÚ Flutter View µÄ¸ÅÄî¿´Ò»ÏÂÔ´ÂëºÜÈÝÒ×Àí½â¡£

ÕâÖÖ½â¾ö·½°¸µÄºÃ´¦ÊÇ¿ÉÒÔʵÏÖ¶àÒ³Ãæ¸´Óã¬ÒòΪ²»ÓÃÿ´Î¶¼È¡Ò»¸öеÄʵÀý£¬¼ÓÔØËÙ¶È»á¸ü¿ì£¬ÒòΪ¶ÔÏÐÓãÀ´½²£¬ÎÒÃÇ×·ÇóµÄ¾ÍÊÇÐÔÄÜ£¬×îºóÎÒÃǵÄÑ¡Ôñ¾ÍÊÇ·½°¸¶þ¡£

Õâ¸öÊǾßÌåµÄʵÏÖ·½Ê½£º

°ÑÏÂÃæµÄ View ¸´Óã¬ÔÚ¶à¸ö Activity Ö®¼äÒÆ¶¯£¬Çл»µ½ÏÂÒ»¸öÒ³ÃæµÄʱºò£¬°ÑÕâ¸ö¿É¸´ÓÃµÄ View ´Óǰһ¸ö Activity ÒÆ×ߣ¬·Åµ½ÏÂÒ»¸ö Activity£¬ÕâÊÇËüµÄÖ÷ÒªµÄ˼·¡£

ÔÚÕâ¸ö˼·ÏÂÒ²»áÓöµ½Ò»Ð©ÐèÒª½â¾öµÄÎÊÌ⣺

Á½¸öÒ³Ãæ×ª³¡¶¯»­ÓÉÓÚ View ÔÚ Activity ¼äÒÆ¶¯£¬»áÓÐÒ»¸ö¶ÌÔݵİ×É«ÉÁÆÁ£¬ÌåÑé²»ºÃ£¬½â¾öÉÁÆÁµÄ°ì·¨£¬¾ÍÊÇ×öÒ»¸ö½ØÍ¼£¬´Ó A Ò³Ãæµ½ B Ò³ÃæµÄʱºò£¬¶Ô A Ò³Ãæ×ö¸ö½ØÍ¼£¬Í¬Ê±°Ñ Flutter ×Ô´øÕ»µÄת³¡¶¯»­½ûÖ¹µô£¬ÓÐÕâ¸ö½ØÍ¼£¬×ª³¡Ê±¾Í²»»áÓÐÉÁÆÁµÄ¸Ð¾õÁË¡£

¿¼ÂǶÔͳһ OpenUL Ö§³Ö£¬°Ñ Flutter ºÍ Native µÄ URL ͳһ¡£

ÓÉÓÚ Flutter ÈÝÆ÷ÄÚ²¿ÓиöÕ»¹ÜÀí£¬¶ÔÕâ¸öÕ»ÐèÒªÓë Native ×öͬ²½µÄ¸úËæ¡£

µ½´Ë£¬»ìºÏÕ»µÄ·½°¸¾Í¼òµ¥½éÉÜÍêÁË¡£

»ùÓÚ Texture µÄ×Ô¶¨ÒåÊÓÆµ²¥·ÅÆ÷

½ÓÏÂÀ´£¬Èç¹û Flutter Ò³ÃæÖÐÏ븴ÓÃÒÑÓÐµÄ Native ×é¼þ£¬Ôõô°ì£¿

Ò»ÖÖÇé¿öÊÇÊÓÆµ²¥·ÅÆ÷£¬Native ÖÐÎÒÃÇ×ö¹ýºÜ¶àÓÅ»¯µÄ²¥·ÅÆ÷£¬Ï£ÍûÄܸ´Óõ½ Flutter Ò³ÃæÖС£

Ê×ÏÈ£¬»¹ÊÇÏÈ¿´Ô­Àí£º

Flutter ÄÚ²¿µÄäÖȾ£¬Óëͨ³£µÄ×ö·¨Ò»Ñù£¬ÓÐ layer¡£ÆäÖÐÒ»ÖÖ Layer ½Ð Texture Layer£¬¿ÉÒÔ°ÑÈÎºÎÆäËûµØ·½¼ÆËã³öÀ´µÄÎÆÀíÖ±½ÓÌùµ½ Flutter µÄ Texture Layer ÉÏ¡£²»¹ÜÊÇÊÓÆµ£¬»¹ÊÇͼƬ£¬Èç¹ûÓÐÐèÒª£¬¶¼¿ÉÒÔÓà Texture Layer¡£

ÔÚÕâ¸öʵÏֵķ½Ê½ÖУ¬Flutter ²à¸ºÔðչʾÕâ¸ö²¥·ÅÆ÷ UI£¬½ÓÊÕ¶Ô²¥·ÅÆ÷×ö¿ØÖƽ»»¥£¬¶ø Native ²à¸ºÔðÊÓÆµµÄäÖȾ£¬Í¨¹ý TextureLayer չʾµ½ Flutter ²à¡£¶ø¿ØÖÆÐ­Ò飬ͨ¹ý Flutter ÌØÓÐµÄ MethodChannel À´¿ØÖÆ¡£

³ýÁËÊÓÆµ£¬»¹ÓÐûÓÐÆäËûÀàÐ굀 Native ×é¼þÄܸ´Óõ½ Flutter ÖУ¿ÏñÏÂͼÕâÑù£¬°Ñ Native ¿Ø¼þ·ÅÔÚ View/Window ÖÐÓë Flutter »ìºÏ£¬ÊÇ¿ÉÒԵġ£µ«½ØÖ¹Ñݽ²Ê±£¬Flutter »¹ÎÞ·¨×öµ½ÔÚ Flutter ÖÐÍÚ¸öСÌ촰ǶÈë Native ×é¼þ¡£²»¹ýÕâ¸ö·½Ê½ Google Flutter ÍŶÓÒѾ­ÔÚ×ö³¢ÊÔ£¬Î´À´¿ÉÄÜ×öÓа취֧³Ö£¬´ó¼Ò¿ÉÒÔ¹Ø×¢¡£

Flutter ͨÓÃÎÊÌâʵ¼ù

½ÓÏÂÀ´£¬½éÉÜһϠFlutter ÉÌÆ·ÏêÇéÒ³µÄÒ³ÃæµÄ¿ª·¢¿ò¼Ü¡£

Ò³Ãæ¿ò¼Ü

Óұ߱ßÂÌÉ«µÄÕâÒ»²¿·Ö£¬¾ÍÊÇÕû¸öÒ³ÃæµÄ½á¹¹£¬Õû¸öÏêÇéÒ³ÃæÊÇÒ»¸ö´óÁÐ±í£¬ÓÉÉÌÆ·µÄÃèÊö¡¢Í¼Æ¬£¬ÆÀÂÛ£¬¸öÐÔ»¯ÍƼöµÈ×é³É¡£ÕâÀï¼òµ¥¸ÅÀ¨¼¸¸öÌØµã£º

ͨ¹ý Server ¶Ë·µ»ØµÄÊý¾ÝÇý¶¯ UI ½çÃæ£¬¿ÉÒÔÒ»¶¨³Ì¶ÈÉÏ»ñµÃÒ³ÃæÄÚÈݵĶ¯Ì¬ÄÜÁ¦¡£Flutter ±¾Éí²»Ö§³Ö¶¯Ì¬¸üУ¬ÎÞ·¨Ïñ JS ÄÇÑù£¬ËùÒÔÕâÖÖÉè¼Æ·½Ê½¿ÉÒÔÒ»¶¨³Ì¶ÈÉÏÃÖ²¹Õâ·½ÃæµÄ¶Ì°å¡£

Widget Ê÷½áµã¼ä£¨»òÕßËµÒ³ÃæµÄ²»Í¬×é¼þ¼ä£©µÄÊý¾ÝÈçºÎ¹²Ïí£¿ÕâÀï´ó¼ÒÖªµÀ InheritedWidget Õâ¸öÀà¾ÍºÃÁË£¬ÕâÊǽâ¾öÊý¾Ý¹²ÏíµÄºÜÓÐÓõÄÀà¡£

Èç¹ûÒ³ÃæÔÙ¸´ÔÓЩ£¬Óкཻܶ»¥£¬Ï£Íû½«ÊÓÆµ¡¢½»»¥¡¢Êý¾ÝµÈ·ÖÀëÔõô°ì£¿Ò²¿ÉÒÔ¿¼ÂÇÒýÈë Redux ¿ò¼Ü¡£

ͳһЭÒé

Flutter ²»Ö§³Ö Dart µÄ·´É䣨mirror)£¬ËùÒÔÔÚ¿ª·¢ Flutter Ò³ÃæÊ±£¬½âÎö·þÎñ¶Ë·µ»ØµÄÊý¾Ý£¬Éú³É Flutter ¶ÔÏóʱ£¬¿ÉÄÜ»áºÜ²»Ï°¹ß£¬ÐèÒªÓн϶àµÄÓ²±àÂë¡£ Flutter ²»Ö§³Ö·´É䣬Çë´ó¼ÒÀí½â£¬ÕâÑù¿ÉÒÔ»ñµÃ tree shaking ÄÜÁ¦£¬¼õÉÙ Flutter °üµÄ´óС¡£

¼ÈÈ»²»Ö§³Ö·´É䣬Ôõôȥ½â¾ö¸Õ²Å˵µÄÊý¾Ýת»»ÎÊÌ⣿ÎÒÃÇʵÏÖÁËÒ»¸öͳһЭÒé²ã£¬°Ñ Serve ¶ËºÍ¿Í»§¶ËµÄÇëÇó½Ó¿ÚºÍÊý¾ÝÄ£ÐÍ£¬¶¼Í¨¹ýЭÒéͳһÉú³É´úÂ룬±ÜÃâÁËÊÖ¹¤±àÂë¡£

ͼƬ»º´æ·½°¸

ÏÐÓãµÄÒ³ÃæÖÐÓдóÁ¿Í¼Æ¬£¬µ« Flutter ĬÈϵÄͼƬ»º´æ²ßÂԱȽϼòµ¥£¬½ØÖ¹Ñݽ²Ê±£¬ÈçÉÏͼËùʾ£¬Ä¬ÈÏͼƬ»º´æ²ßÂÔÊǰ´ÕÕͼƬÊýÁ¿£¬ÒÔ 1000 ΪÉÏÏÞ£¬LRU µÄ·½Ê½Öû»¡£µ±´óͼƬ½Ï¶àʱ£¬Õâ»áÕ¼Óùý¶àµÄÄڴ棬ÈÝÒ×Ôì³É Crash »ò Abort¡£

ÔÚÎÒÃÇÖ»ÓÐÏêÇéÒ³Ò»ÖÖÒ³ÃæÊ±£¬½â¾öÕâ¸öÎÊÌâ¿ÉÒÔÓüòµ¥´Ö±©µÄ·½Ê½£¬Ê×Ï顄 1000 Õâ¸öÊýÁ¿µ÷С¡£Ò»ÖÖÐ޸ķ½Ê½ÈçͼËùʾ£¬Í¨¹ý WidgetsFlutterBinding À´Ð޸ģ¨WidgetsFlutterBinding ÊÇ Flutter ÖкÜÖØÒªµÄÒ»¸ö»úÖÆ£¬ÓÐÐËȤ¿ÉÒÔÉîÈëÁ˽⣩¡£

´ËÍ⣬»¹Òª×¢ÒâͼƬ³ß´ç×ÔÊÊÓ¦¼ô²Ã£¬Ö§³Ö WebP µÈ£¬ÕâЩ¶Ô½ÚʡͼƬÄÚ´æºÍÍøÂçÁ÷Á¿¶¼ºÜ¹Ø¼ü¡£

µÚ¶þÖÖ½â¾ö·½°¸£¬Êǹٷ½ÕýÔÚ×öµÄÓÅ»¯£¬°´ÕÕÕû¸ö¿Õ¼äµÄ´óСÀ´×ö»º´æ²ßÂÔ£¬¾ßÌå¿ÉÒÔ¹Ø×¢Í¼ÖеÄÁ´½Ó¡£

µÚÈýÖÖ·½°¸£¬¸ü¼ÓÍêÉÆ£¬¼ÓÒ»²ã³Ö¾Ã²ãµÄ»º´æ£¬ÒÔʵ¼ÊµÄ¾­ÑéÀ´¿´£¬ÏÐÓãµÄ³¡¾°Ï£¬³Ö¾Ã²ã»º´æÊ±£¬Í¨³£¿ÉÒÔÌá¸ß»º´æÃüÖÐÂÊ 10% µ½ 30% ¡£

ÉÏÏßЧ¹û

ÏßÉÏ Crash ÂÊ

´ó¼Ò¿ÉÄÜ»á¹ØÐÄ Flutter ÔÚÉú²ú»·¾³µÄÎȶ¨ÐÔ£¬¼æÈÝÐԵȱíÏÖ¡£ÏÐÓãʹÓà Flutter µÄǰÆÚ½×¶Î£¬Õâ·½ÃæÈ·ÊµÓкܴóµÄÎÊÌ⡣ǰÆÚÔÚÕæÊµ»·¾³Öз¢ÏÖÁ˺ܶàÎÊÌ⣬µÚÒ»´Î»Ò¶È²âÊÔʱ Crash ÂÊÓаٷÖÖ®Ò»µÄÁ¿¼¶£¬Ö÷ÒªµÄ Crash ÎÊÌâ°üÀ¨ÄÚ´æ¡¢GPU¡¢icu data¡¢ÊÓÆµ²¥·Å¡¢½ØÍ¼½Ó¿Ú¡¢armv7¡¢×ÖÌåȱʧµÈ¡£

ÎÒÃÇºÍ Google ÍŶÓÒ»Æð£¬Í¨¹ý¼¸¸ö°æ±¾µÄ»Ò¶Èµü´ú£¬ÓÃÁËÒ»¸ö°ëÔµÄʱ¼ä£¬°ÑÎÊÌâÖð²½½â¾öÁË£¬Ä¿Ç° Crash ÂÊÊÕÁ²Îȶ¨£¬´ïµ½Íò·ÖÖ®Ò»µÄÁ¿¼¶£¬ÒѾ­´ïµ½ÁËÉú²ú±ê×¼¡£

Flutter Óë Native ÏêÇéÒ³ÐÔÄܶԱÈ

ÎÒÃÇ¶Ô Flutter Óë Native µÄÏêÇéÒ³×öÁ˼òµ¥µÄÐÔÄܶԱȣ¬²¢²»ÑϽ÷£¬½ö¹©²Î¿¼¡£

²âÊÔ³¡¾°£º½øÈ뱦±´ÏêÇéÒ³ºó¿ìËÙä¯ÀÀµ½Ò³Ãæµ×²¿£¬´Ó²ÂÄãϲ»¶½øÈëµÚ¶þ¸ö±¦±´£¬Öظ´½øÐзÃÎÊ 10 ¸ö²»Í¬±¦±´ÏêÇé¡£¶Ô±È Native °æÏêÇéÒ³ºÍ Flutter °æÏêÇéÒ³¡£

²âÊÔ»úÐÍ£¬ÒԵͶ˻úÐÍΪÖ÷£¨¸ß¶Ë»úÐÍÇø·Ö²»Ã÷ÏÔ£©£º

Android 4.x, 5.x...

iPhone 5c, 6s...

°²×¿µÄ¶Ô±È£º

ÏÂÃæÁ½ÐÐÊÇÌåÏÖÁ÷³©¶ÈµÄ£¬LPS »òÕß MS ÊÇÌÚѶÌá³öµÄÒ»ÖÖÁ÷³©¶ÈµÄ±í´ï·½Ê½£¬ÔÚÁ÷³©¶ÈÊÇ OK µÄ£¬±È Native ÏêÇéÒ³×öµÄºÃ£¬ÔÚ¼¼ÊõµÄÖ¸±êÉÏÒ²»¹²»´í¡£

iOS µÄ½á¹û£º

iOS ÉÏ£¬Ò²ÊÇ Flutter »á¸üÁ÷³©Ò»Ð©£¬²âÏÂÀ´£¬·¢ÏÖÔÚ GPU µÄʹÓÃÂÊÉÏ£¬Flutter »á¸ü¸ßһЩ£¬Flutter ÔÚÕâÉÏÓиü½øÒ»²½µÄÓÅ»¯¿Õ¼ä¡£

˵µ½ÕâÀ¿ÉÄÜ´ó¼ÒÒ²»áÒÉ»ó£¬Õâ¸ö¶Ô±È½á¹û£¬ÊDz»ÊÇÒòΪÒÔǰ Native дµÄÏêÇéҳ̫¸´ÔÓÁË£¿ ȷʵÓÐÕâÖÖ¿ÉÄÜ¡£µ«Ö÷Òª·ÖÏíµÄÊÇ£¬Á½ÖÖÒ³ÃæÊÇÏàͬÍŶӳÉÔ±¿ª·¢µÄ£¬²¢ÇÒûÓÐÕë¶Ô Flutter ×öרÃŵÄÐÔÄÜÓÅ»¯£¬Õâ¸öÐÔÄܲâÊÔ¿ÉÒÔÈ·¶¨µÄ½áÂÛÊÇ£¬Ê¹Óà Flutter »¹ÊDZȽÏÈÝÒ×¾ÍÄÜ¿ª·¢³öÓë Native ÐÔÄÜÏà½üµÄÒ³Ãæ¡£

×îºó£¬ËµÒ»Ï´ó¼Ò¿ÉÄÜ»á¹ØÓڵijɱ¾ÎÊÌâ¡£¶ÔÓÚ»ìºÏ¿ª·¢£¬³õÆÚ½ÓÈë³É±¾ÊÇÓеġ£Èç¹ûÊÇÈ«Ð嵀 Flutter ¶ÀÁ¢Ó¦Ó㬽ÓÈë³É±¾»áºÜµÍ¡£Ê״νÓÈëÍê³Éºó£¬ºóÃæ¿ªÊ¼»á˳ÀûºÜ¶à£¬¿ÉÒÔÏíÊÜ¿ç¶Ëͳһ±à³Ì£¬Ò»Ì×´úÂë´øÀ´µÄЧÂÊ¿ì¸Ð¡£ÁíÍ⣬¹ØÓÚѧϰ³É±¾£¬»¹ºÃ£¬ÒòΪ Dart ÓïÑÔ¸ú Java ºÜÏñ£¬¸ú JS Ò²ºÜÏñ£¬ÁíÍâ Flutter µÄ UI ¿ò¼Ü×ñÑ­ÏìӦʽ£¬ÉùÃ÷ʽÉè¼ÆÔ­Ôò£¬¸öÈ˸оõ£¬½ÏÈÝÒ×ÉÏÊÖ¡£

   
2773 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì