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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
΢ÐÅAndroid¿Í»§¶Ëºǫ́±£»î¾­Ñé·ÖÏí
 
×÷Õߣº Ñî¸ÉÈÙ À´×ÔÓÚ£ºInfoQ ·¢²¼ÓÚ 2016-4-11
  1980  次浏览      29
 

±£»î£¬°´ÕÕÎÒÃǵÄÀí½â°üº¬Á½²¿·Ö£º

ÍøÂçÁ¬½Ó±£»î£ºÈçºÎ±£Ö¤ÏûÏ¢½ÓÊÕʵʱÐÔ¡£

½ø³Ì±£»î£º¾¡Á¿±£Ö¤Ó¦ÓõĽø³Ì²»±»Androidϵͳ»ØÊÕ¡£

1.0 ÍøÂçÁ¬½Ó±£»î

ÍøÂç±£»î£¬Òµ½çÖ÷ÒªÊÖ¶ÎÓУº

a. GCM

b. ¹«¹²µÄµÚÈý·½pushͨµÀ(ПëµÈ)

c. ×ÔÉí¸ú·þÎñÆ÷ͨ¹ýÂÖѯ£¬»òÕß³¤Á¬½Ó

¹ú²ú»úÆ÷´ó¶àȱ·¦GMS£¬ÔÚ¹úÄÚGCMÒ²²»Îȶ¨(ÐÄÌøÔ­Òò)£¬µÚÈý·½Í¨µÀÐèÒª¿¼Âǰ²È«ÎÊÌâºÍ³ÐÔØÄÜÁ¦£¬×îºó΢ÐÅÑ¡ÔñʹÓÃ×Ô¼ºµÄ³¤Á¬½Ó¡£¶ø¹úÍ⣬ GCM×÷Ϊ¸¨Öú£¬Î¢ÐÅÎÞ·¨½¨Á¢³¤Á¬½Óʱ£¬²ÅʹÓÃGCM¡£

֮ǰ¿´µ½´ó¼ÒÔÚÁĸ÷ÖÖJavaÍøÂç¿ò¼Ü£¬¶øÎ¢ÐÅʵ¼ÊÉ϶¼ÊÇûÓÃÉϵġ£ÔçÄêµÄ΢ÐÅ£¬Ö±½Óͨ¹ýJava socket ʵÏÖ¡£Î¢ÐÅv5.0ºó£¬¿¼ÂǸ÷ϵͳƽ̨µÄͳһ£¬¿ªÊ¼Ê¹ÓÃ×ÔÑÐc++×é¼þ¡£

³¤Á¬½ÓʵÏÖ°üÀ¨¼¸¸öÒªËØ£º

a. ÍøÂçÇл»»òÕß³õʼ»¯Ê± server ip µÄ»ñÈ¡¡£

b. Á¬½ÓǰµÄ ipɸѡ£¬³ö´íºóip µÄÅׯú¡£

c. ά»¤³¤Á¬½ÓµÄÐÄÌø¡£

d. ·þÎñÆ÷ͨ¹ý³¤Á¬notify¡£

e. Ñ¡ÔñʹÓó¤Á¬Í¨µÀµÄÒµÎñ¡£

f. ¶Ï¿ªºóÖØÁ¬µÄ²ßÂÔ¡£

½ñÌìÖ÷ÌâÔÚ±£»î£¬ ÎÒÃÇÖØµãÌÖÂÛÐÄÌøºÍ notify »úÖÆ¡£

1.1 ÐÄÌø»úÖÆ

ÐÄÌøµÄÄ¿µÄºÜ¼òµ¥£ºÍ¨¹ý¶¨ÆÚµÄÊý¾Ý°ü£¬¶Ô¿¹NAT³¬Ê±¡£ÒÔÏÂÊDz¿·ÖµØÇøÍøÂçNAT ³¬Ê±Í³¼Æ£º

Éϱí˵Ã÷£º

a. GCMÎÞ·¨ÊÊÓ¦¹úÄÚ2G»·¾³(GCM 28·ÖÖÓÐÄÌø)¡£

b. ΪÁ˼æÈݹúÄÚÍøÂçÒªÇó£¬ÎÒÃÇÖÁÉÙ5·ÖÖÓÐÄÌøÒ»´Î¡£

Àϰ汾µÄ΢ÐÅÊÇ4.5·ÖÖÓ·¢ËÍÒ»´ÎÐÄÌø£¬ÔËÐÐÁ¼ºÃ¡£

ÐÄÌøµÄʵÏÖ£º

a. Á¬½ÓºóÖ÷¶¯µ½·þÎñÆ÷SyncÀ­È¡Ò»´ÎÊý¾Ý£¬È·±£Á¬½Ó¹ý³ÌµÄÐÂÏûÏ¢¡£

b. ÐÄÌøÖÜÆÚµÄAlarm »½ÐѺó£¬Ò»°ãÓм¸ÃëµÄcpu ʱ¼ä£¬ÎÞÐèwakelock¡£

c. ÐÄÌøºóµÄAlarm·ÀÖ¹·¢Ëͳ¬Ê±£¬Èç·þÎñÆ÷Õý³£»Ø°ü£¬¸ÃAlarm È¡Ïû¡£

d. Èç¹û·þÎñÆ÷»Ø°ü£¬ÏµÍ³Í¨¹ýÍøÂ绽ÐÑ£¬ÎÞÐèwakelock¡£

Á÷³Ì»ùÓÚÁ½¸öÏµÍ³ÌØÐÔ£º

a. Alarm»½ÐѺó£¬×ã¹»cpuʱ¼ä·¢°ü¡£

b. ÍøÂç»Ø°ü¿É»½ÐÑ»úÆ÷¡£

ÌØ±ðÊÇbÏ¼ÙÈçAndroid·â¶Â¸ÃÌØÐÔ£¬ÄǾÍÖ»ÄÜÓÃGCMÁË¡£API level >= 23µÄdoze¾Í¹Ø±ÕËùÓеÄÍøÂ磬 alarmµÈ¡£µ«½øÈëdozeÌõ¼þ¿Á¿Ì£¬ÏÖÔÚ6.0ÆÕ¼°µÍ£¬ÖÁ½ñ΢ÐÅûÊÕµ½Ïà¹ØÍ¶Ëß¡£ÁíGoogleÒ²×îÖÕ¼ÓÈëREQUEST_IGNORE_BATTERY_OPTIMIZATIONSȨÏÞ¡£

1.2 ¶¯Ì¬ÐÄÌø

4.5minÐÄÌøÖÜÆÚÊÇÎȶ¨¿É¿¿µÄ£¬µ«ÎÞ·¨È·¶¨ÊÇ×î´óÖµ¡£Í¨¹ýÖն˵ij¢ÊÔ£¬¿ÉÒÔ»ñÈ¡µ½Ìض¨Óû§ÍøÂçÏ£¬ÐÄÌøµÄ×î´óÖµ¡£

ÒýÈë¸ÃÌØÐԵı³¾°£º

a. ÔËÓªÉ̵ÄÐÅÁî·ç±©

b. ÔËÓªÉÌÍøÂç»»´ú£¬NAT³¬Ê±Ç÷ÓÚÔö´ó

c. AlarmºÄµç£¬ÐÄÌøºÄÁ÷Á¿¡£

¶¯Ì¬ÐÄÌøÒýÈëÏÂÁÐ״̬£º

a. ǰ̨»îԾ̬£ºÁÁÆÁ£¬Î¢ÐÅÔÚǰ̨£¬ ÖÜÆÚminHeart (4.5min) £¬±£Ö¤ÌåÑé¡£

b. ºǫ́»îԾ̬£ºÎ¢ÐÅÔÚºǫ́10·ÖÖÓÄÚ£¬ÖÜÆÚminHeart £¬±£Ö¤ÌåÑé¡£

c. ×ÔÊÊÓ¦¼ÆËã̬£º²½ÔöÐÄÌø£¬³¢ÊÔ»ñÈ¡×î´óÐÄÌøÖÜÆÚ(sucHeart)¡£

d. ºǫ́Îȶ¨Ì¬£ºÍ¨¹ý×î´óÖÜÆÚ£¬±£³ÖÎȶ¨ÐÄÌø¡£

×ÔÊÊÓ¦¼ÆËã̬Á÷³Ì£º

ÔÚ×ÔÊÊӦ̬£º

a. curHeart³õʼֵΪminHeart £¬ ²½Ôö(heartStep)Ϊ1·ÖÖÓ¡£

b. curHeart ʧ°Ü5´Î£¬ Òâζ×ÅÕû¸ö×ÔÊÊӦ̬×î¶àÖ»ÓÐ5·ÖÖÓÎÞ·¨½ÓÊÕÏûÏ¢¡£

c. ½áÊøºó£¬Èç¹ûsucHeart > minHeart£¬»á¼õÈ¥10s(±Ü¿ªÁÙ½ç)£¬Îª¸ÃÍøÂçϵÄÎȶ¨ÖÜÆÚ¡£

d. ½øÈëÎȶ¨Ì¬Ê±£¬ÒªÇóÁ¬½ÓÁ¬ÐøÈý´Î³É¹¦minHeartÐÄÌøÖÜÆÚ£¬ÔÙʹÓÃsucHeart¡£

Îȶ¨Ì¬µÄÍ˳ö£º

sucHeart »á¶ÔÓ¦ÍøÂç´æ´¢ÏÂÀ´£¬ ÖØÆôºóÕý³£Ê¹Ó᣿¼Âǵ½ÍøÂçµÄ²»Îȶ¨£¬ÈçNAT³¬Ê±±äС£¬Óû§µØÀíλÖñ任¡£µ±·¢ÏÖsucHeart Á¬Ðø5´Îʧ°Ü£¬ sucHeart ÖÃΪminHeart £¬ÖØÐ½øÈë×ÔÊÊӦ̬¡£

1.3 notify»úÖÆ

ÍøÂç±£»îµÄÒâÒåÔÚÓÚÏûϢʵʱ¡£Í¨¹ý³¤Á¬½Ó£¬Î¢ÐÅÓÐÏÂÁлúÖÆ±£Ö¤ÏûÏ¢µÄʵʱ¡£

Sync£º

ͨ¹ýSync CGIÖ±½ÓÇëÇóºǫ́Êý¾Ý¡£Sync ͨ¹ýºǫ́ºÍÖն˵ÄseqÖµ¶Ô±È£¬ÅжϸÃÏ·¢ÄÄЩÏûÏ¢¡£ÖÕ¶ËÕý³£´¦ÀíÏûÏ¢ºó£¬seq¸üÐÂΪ×îÐÂÖµ¡£

Sync µÄÖ÷Òª³¡¾°£º

a. ³¤Á¬ÎÞ·¨½¨Á¢Ê±£¬Í¨¹ýSync ¶¨ÆÚÂÖѯ

b. ΢ÐÅÇе½Ç°Ì¨Ê±£¬´¥·¢Sync(±£Ãü»úÖÆ)

c. ³¤Á¬½¨Á¢Íê³É£¬Á¢¼´´¥·¢Sync£¬·ÀÖ¹Á¬½Ó¹ý³Ì©ÏûÏ¢

d. ½ÓÊÕµ½Notify »òÕß gcm ºó£¬ÖÕ¶Ë´¥·¢Sync ½ÓÊÕÏûÏ¢.

Notify£º

ÀàËÆÓÚGCM¡£Í¨¹ý³¤Á¬½Ó£¬ºǫ́·¢³ö½ö´øseqµÄС°ü£¬Öն˸ù¾Ýseq¾ö¶¨ÊÇ·ñ´¥·¢SyncÀ­È¡ÏûÏ¢¡£

NotifyData£º

ÔÚ³¤Á¬Îȶ¨£¬ Notify»úÖÆÕý³£µÄÇé¿öÏÂ(±£Ö¤seqµÄͬ²½)¡£ºǫֱ́½ÓÍÆËÍÏûÏ¢ÄÚÈÝ£¬½ÚÊ¡1¸öRTT (Sync) ÏûÏ¢½ÓÊÕʱ¼ä¡£ÖÕ¶ËÊÕµ½ÄÚÈݺ󣬴øÉÏseq»ØÓ¦NotifyAck£¬È·Èϳɹ¦¡£ÕâÀï»á³öÏÖNotifyºÍNotifyData״̬»¥ÏàÇл»µÄÇé¿ö£º

ÈçNotifyData ºó£¬·þÎñÆ÷ÔÚûÊÕµ½NotifyAck£¬¶øÓÐÐÂÏûÏ¢µÄÇé¿öÏ£¬»áÇл»»Øµ½Notify£¬Sync¿ÉÄÜÐèÒªÈßÓà֮ǰNotifyDataµÄÏûÏ¢¡£ÖÕ¶ËÒª±£Ö¤´®Ðд¦ÀíNotifyDataºÍSync £¬·ñÔòseq¿ÉÄÜ»ØÍË¡£

GCM£º

Ö»Òª»úÆ÷ÉÏÓÐGMS £¬Æô¶¯Ê±¾Í³¢ÊÔ×¢²áGCM£¬²¢Í¨Öªºǫ́¡£·þÎñÆ÷»á¸ù¾ÝÖÕ¶ËÊÇ·ñ±£³Ö³¤Á¬£¬¾ö¶¨ÊÇ·ñÓÉGCM֪ͨ¡£GCMÖ÷ÒªÕë¶Ô¹úÍâ±È½Ï¸´ÔÓµÄÍøÂç»·¾³¡£

2.0 ½ø³Ì±£»î

ÔÚAndroidϵͳÀ½ø³Ì±»É±µÄÔ­Òòͨ³£ÎªÒÔϼ¸¸ö·½Ã棺

a. Ó¦ÓÃCrash

b. ϵͳ»ØÊÕÄÚ´æ

c. Óû§´¥·¢

d. µÚÈý·½rootȨÏÞapp.

Ô­Òòa¿ÉÒÔµ¥¶À×÷Ϊһ¸ö¿ÎÌâÑо¿¡£Ô­Òòc¡¢dĿǰÔÚ΢ÐÅÉÏûÓÐÌØÊâ´¦Àí¡£ÕâÀïÌÖÂ۵ľÍÊÇÈçºÎÓ¦¶ÔAndroid Low Memory Killer¡£

ÏÂÃæ·ÖÏí¼¸¸ö΢Ðű£»îµÄ·½·¨£º

2.1 ½ø³Ì²ð·Ö

ÉÏͼ±íÊöµÄÊÇ΢ÐÅÖ÷ÒªµÄ¼¸¸ö½ø³Ì£º

a. pushÖ÷ÒªÓÃÓÚÍøÂç½»»¥£¬Ã»ÓÐUI

b. worker¾ÍÊÇÓû§¿´µ½µÄÖ÷ÒªUI

c. toolsÖ÷Òª°üº¬galleryºÍwebview

²ð·ÖÍøÂç½ø³Ì£¬È·Êµ¾ÍÊÇΪÁ˼õÉÙ½ø³Ì»ØÊÕ´øÀ´µÄÍøÂç¶Ï¿ª¡£

¿ÉÒÔ¿´µ½pushµÄÄÚ´æÒªÔ¶Ô¶Ð¡ÓÚworker¡£¶øÇÒpushµÄ¹¤×÷ÐÔÖÊÎȶ¨£¬ÄÚ´æÔö³¤»á·Ç³£ÉÙ¡£ÕâÑù¾Í¿ÉÒÔ±£Ö¤£¬¾¡Á¿µÄ¼õÉÙpush ±»É±µÄ¿ÉÄÜ¡£

ÕâÀïÓиö˼·£¬µ«ÏÞÖÆ±È½Ï¶à£¬Ò²Å×שÒýÓñ¡£Æô¶¯Ò»¸ö´¿C/C++ µÄ½ø³Ì£¬Ã»ÓÐJava run time £¬ÄÚ´æÊ¹Óü«µÍ¡£

ÕâÖÖ×ö·¨ÏÞÖÆºÜÃ÷ÏÔ£¬È磺ûÓÐJava run time £¬ËùÒÔÎÞ·¨Ê¹ÓÃAndroidϵͳ½Ó¿Ú¡£È±·¦È¨ÏÞ£¬Ò²ÎÞ·¨Ê¹Óø÷ÖÖshellÃüÁî²Ù×÷(Èçam)¡£µ«¿ÉÒÔ¿¼ÂÇÒ»ÏÂÓÃ;£º¸ßÇ¿¶ÈÔËËã£¬ÍøÂçÁ¬½Ó£¬ÐÄÌøÎ¬³ÖµÈ¡£±ÈÈçShadowsocks-android¾ÍÈç´Ë£¬Í¨¹ý´¿cÃüÁîÐнø³Ì£¬Î¬»¤×Åsocks5´úÀí (Android MÔËÐÐÕý³£)¡£

tools½ø³ÌµÄ²ð·ÖҲͬÑùÊÇÄÚ´æµÄÔ­Òò£º

a. Àϰ汾µÄwebview ÊÇÓÐÄÚ´æÐ¹Â©µÄ

b. Gallery´óÁ¿ËõÂÔͼµ¼ÖÂÄÚ´æÊ¹Óôó

΢ÐÅÔÚ½øÈëºǫ́ºó£¬»áÖ÷¶¯°Ñtools½ø³Ìkillµô¡£

2.2 ¼°Ê±À­Æð

ϵͳ»ØÊÕ²»¿É±ÜÃ⣬¼°Ê±ÖØÐÂÀ­ÆðµÄÊÖ¶ÎÖ÷ÒªÒÀÀµÏµÍ³ÌØÐÔ¡£´ÓÉÏͼ¿´µ½£¬ pushÓÐAlarmReceiver£¬ ConnectReceiver£¬BootReceiver¡£ÕâЩreceiver ¶¼¿ÉÒÔÔÚpush±»É±ºó£¬ÖØÐÂÀ­Æð¡£ÌرðAlarmReceiver £¬½áºÏÐÄÌøÂß¼­£¬Î¢Ðű»É±ºó£¬ÖØÐÂÀ­Æð×î¶àÒ»¸öÐÄÌøÖÜÆÚ¡£

¶ø¶ÔÓÚworker£¬³ýÁËÓû§UI²Ù×÷Æô¶¯¡£ÔÚ½ÓÊÕÏûÏ¢£¬»òÕßÍøÂçÇл»µÈʼþ£¬ pushÒ²»áͨ¹ýLocalBroadcast£¬ÖØÐÂÀ­Æðworker¡£ÕâÖÖÀ­ÆðµÄworker £¬´ó²¿·Ö³õʼ»¯ÒѾ­Íê³É£¬Ò²ÄÜ´ó´óÌá¸ßÓû§µã»÷΢Ðŵįô¶¯ËÙ¶È¡£

ÀúÊ·Ô­Òò£¬ÎÒÃÇÔÚpushºÍworkerͨÐÅʹÓÃBroadcastºÍAIDL¡£Êµ¼ÊÉÏ£¬ÎÒÒ»Ö±²»Ï²»¶ÕâÀïµÄʵÏÖ£¬AIDL´úÂëÈßÓà¶à£¬ broadcastЧÂʵ͡£»¶Ó­´ó¼Ò·ÖÏí¸üºÃµÄ˼·»òÕß·½·¨¡£

2.3 ½ø³ÌÓÅÏȼ¶

Low Memory Killer ¾ö¶¨ÊÇ·ñɱ½ø³Ì³ýÁËÄÚ´æ´óС£¬»¹Óнø³ÌÓÅÏȼ¶£º

ÉϱíµÄÊý×Ö¿ÉÄÜÔÚ²»Í¬ÏµÍ³»áÓÐÒ»¶¨µÄ³öÈ룬µ«Ã÷È·µÄÊÇ£¬ÊýֵԽС£¬ÓÅÏȼ¶Ô½¸ß¡£¶ÔÓÚÓÅÏȼ¶ÏàͬµÄ½ø³Ì£¬×ÜÊÇ»á°ÑÄÚ´æÕ¼ÓöàµÄÏÈkill¡£Ìá¸ß½ø³ÌÓÅÏȼ¶ÊDZ£»îµÄ×îºÃÊֶΡ£

Õý³£Çé¿öÏÂ΢ÐŵÄoom_adj£º

¶ø±»Ìá¸ßÓÅÏȼ¶ºó£º

´Óͳ¼ÆÉϱ¨¿´£¬Ìá¸ßºóµÄЧ¹û¼«¼Ñ¡£

Ô­Àí£ºAndroid µÄǰ̨service»úÖÆ¡£µ«¸Ã»úÖÆµÄȱÏÝÊÇ֪ͨÀ¸±£ÁôÁËͼ±ê¡£

¶ÔÓÚ API level < 18 £ºµ÷ÓÃstartForeground(ID£¬ new Notification())£¬·¢ËͿյÄNotification £¬Í¼±êÔò²»»áÏÔʾ¡£

¶ÔÓÚ API level >= 18£ºÔÚÐèÒªÌáÓÅÏȼ¶µÄservice AÆô¶¯Ò»¸öInnerService£¬Á½¸ö·þÎñͬʱstartForeground£¬ÇÒ°ó¶¨Í¬ÑùµÄ ID¡£Stop µôInnerService £¬ÕâÑù֪ͨÀ¸Í¼±ê¼´±»ÒƳý¡£

Õâ·½°¸Êµ¼ÊÀûÓÃÁËAndroidǰ̨serviceµÄ©¶´¡£Î¢ÐÅÔÚÆÀ¹ÀÁ˹úÄÚ²»ÉÙappÒѾ­Ê¹Óú󣬲ŽøÐÐÁ˲¿Êð¡£ÆäʵĿ±êÊÇÈôó¼ÒվͬһÆðÅÜÏßÉÏ£¬ÄÄÌìgoogle °Ñ©¶´¶ÂÁË£¬Ð§¹ûÒ²ÊÇÒ»ÑùµÄ¡£

   
1980 ´Îä¯ÀÀ       29
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ

ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ