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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
AndroidÐÔÄÜÓÅ»¯Ö®±»ºöÊÓµÄÓÅ»¯µã
 
À´Ô´£º°²×¿¿ª·¢¾«Ñ¡ ·¢²¼ÓÚ£º 2017-1-20
  1869  次浏览      27
 

¶ÔÓÚÐÔÄÜÓÅ»¯Õâ¸ö֪ʶµãÀ´Ëµ£¬ÊµÔÚÊÇÌ«¹ãÁË£¬²©Ö÷±¾ÈËÒ²Ò»Ö±·Ç³£¹Ø×¢Õâ·½ÃæµÄѧϰ£¬¶ø¶ÔÓÚÐÔÄÜÓÅ»¯À´ËµËü°üÀ¨Á˷dz£·Ç³£·Ç³£¶à·½Ã棬±ÈÈ磺I/OµÄÓÅ»¯¡¢ÍøÂç²Ù×÷µÄÓÅ»¯¡¢ÄÚ´æµÄÓÅ»¯¡¢Êý¾Ý½á¹¹µÄÓÅ»¯¡¢´úÂë²ã´ÎµÄÓÅ»¯¡¢UIäÖȾÓÅ»¯¡¢CPU×ÊԴʹÓÃÂʵÄÓÅ»¯¡¢Òì³£´¦ÀíµÄÓÅ»¯µÈµÈµÈµÈ¡£¡£¡£

AndroidÐÔÄÜÓÅ»¯Ö®±»ºöÊÓµÄÓÅ»¯µã

±¾ÆªÎÄÕ¾Ͳ©Ö÷±¾È˵ÄÀí½âÀ´½²ÊöһЩÔÚAndroid¿ª·¢ÖпÉÒÔÓÅ»¯µÄµØ·½

ArrayListºÍVector

ArrayListºÍVector¶¼ÊÇÄÚ²¿ÒÔÊý×éʵÏÖµÄList£¬ËüÃÇÁ½Î¨Ò»µÄÇø±ð¾ÍÊǶԶàÏ̵߳ÄÖ§³Ö£¬ArrayListÊÇÏ̲߳»°²È«µÄ£¬¶øVectorÄÚ²¿¶Ô´ó¶àÊý·½·¨¶¼×öÁËͬ²½£¬ÊÇḬ̈߳²È«µÄ£¬¼ÈÈ»ÊÇḬ̈߳²È«µÄ£¬ËùÒÔÐÔÄÜ·½Ãæ¿Ï¶¨²»ÈçArrayListÁË(µ±È»Ïë·¨¿Ï¶¨ÊǶԵÄ)£¬²»¹ýÕâÐèÒª¿´ÄÄ·½ÃæÁË£¬ArrayListÔÚadd¡¢get¡¢removeµÈ²Ù×÷ЧÂʿ϶¨ÊǸßÓÚVectorµÄ£¬¶øÔÚÄÚ´æ·½Ãæ£¬VectorÈ´±ÈArrayList±íÏֵĸüºÃ£¬Õâ¹é¸ù¶¼ÊÇArrayListµÄÀ©ÈݲßÂÔµ¼Öµģ¬ÉÔºó·ÖÎö¡£

ʵÏÖRandomAccess½Ó¿ÚµÄ¼¯ºÏʹÓÃfori±éÀú

ÏÈ̸̸List¼¯ºÏµÄ±éÀú·½Ê½£¬ÓÐÈýÖÖ£ºforeach¡¢iterator¡¢fori¡£

¶øÔÚ¿ª·¢ÖÐÒ»°ãÐèÒª±éÀúʱÊ×Ñ¡¿Ï¶¨ÊÇforeachÁË£¬ÒòΪËüЧÂʸߣ¬Õâ¸ö¹Ûµãû´í£¬²»¹ýÐèÒª·Ö³¡ºÏÁË¡£

ÏÂÃæÊÇÎÒÓÃÕâÈýÖÖ·½Ê½²âÊÔ±éÀúÓÐ100wÌõÊý¾ÝµÄArrayList¼¯ºÏ£º

long start = System.currentTimeMillis(); 
for (int i = 0; i < size; i++) {
data.get(i);
}
long end = System.currentTimeMillis();
Log.v("zxy","fori»¨·Ñ:"+(end-start));

start = System.currentTimeMillis();
for (Integer integer : data) {

}
end = System.currentTimeMillis();
Log.v("zxy","foreach»¨·Ñ:"+(end-start));

Iterator<Integer> iterator = data.iterator();
start = System.currentTimeMillis();
while (iterator.hasNext()){
iterator.next();
}
end = System.currentTimeMillis();
Log.v("zxy","iterator»¨·Ñ:"+(end-start));

11-19 09:11:44.276 1418-1418/? V/zxy: fori»¨·Ñ:30
11-19 09:11:44.380 1418-1418/? V/zxy: foreach»¨·Ñ:105
11-19 09:11:44.476 1418-1418/? V/zxy: iterator»¨·Ñ:95

¶øÍ¨³£ÎÒÃÇËù˵µÄЧÂʸߵÄforeachÔÚ±éÀúÉÏÈ´ÏԵò»ÈçÒ⣬¶øforiЧÂʱíÏÖµÄ×îºÃ£¬ÕâÊÇÒòΪArrayListºÍVector¼¯ºÏÄÚ²¿ÊµÏÖÓÉÊý×éʵÏÖ£¬ËùÒÔËæ»ú·ÃÎʵÄËÙ¶ÈÊǺܿìµÄ£¬¶ÔÓÚ¿ÉÒÔ½øÐÐËæ»ú·ÃÎʵÄList£¬JDKΪËüÃÇʵÏÖÁËRandomAccess½Ó¿Ú£¬±íʾ֧³Ö¿ìËÙËæ»ú·ÃÎÊ¡£

¶øÔÚ±éÀúÓÐ1wÌõÊý¾ÝµÄLinkedList¼¯ºÏʱ£º

11-19 09:33:23.984 1737-1737/? V/zxy: fori»¨·Ñ:351 
11-19 09:33:23.988 1737-1737/? V/zxy: foreach»¨·Ñ:2
11-19 09:33:23.992 1737-1737/? V/zxy: iterator»¨·Ñ:4

Ôòforeach±íÏÖ×î¼Ñ£¬ËùÒÔ¶ÔÊý×é¡¢»òÕßʵÏÖÁËRandomAccess½Ó¿ÚµÄList£¬±éÀúÓÃforiÐÔÄÜ×î¼Ñ£¬¶ÔLinkedListµÈÒÔÁ´±íʵÏֵļ¯ºÏ±éÀúʱʹÓÃforeach»òÕßiteratorÐÔÄÜ×î¼Ñ£¬ÒòΪforeachµÄʵÏÖ¾ÍÊÇͨ¹ýiteratorʵÏֵġ£

ÎÒÃÇ¿ÉÒÔÕâÑùÅжϸÃList±éÀúÓÃÄÄÖÖ·½Ê½£º

if (list instanceof RandomAccess) 
{
for (int i = 0; i < list.size(); i++) {}
} else {
Iterator<?> iterator = list.iterator();
while (iterator.hasNext()) {
iterator.next();
}
}

Ô¤ÖªÈÝÁ¿µÄÇé¿öϹ¹ÔìArrayListʱ¾¡Á¿Ö¸¶¨³õʼ´óС

ArrayListÄÚ²¿µÄÀ©ÈݲßÂÔÊǵ±ÆäËù´æ´¢µÄÔªËØÊýÁ¿³¬¹ýËüÒÑÓеĴóСʱ£¬Ëü¾Í»áÒÔ1.5±¶µÄÈÝÁ¿½øÐÐÀ©ÈÝ£¬Ò²¾ÍÊǼÙÈ統ǰArrayListµÄÈÝÁ¿Îª10000£¬ÄÇôËüÔÚÐèÒªÔÙ´æ´¢Ò»¸öÔªËØÊ±£¬¼´µÚ10001¸öÔªËØ£¬ÓÉÓÚÈÝÁ¿²»¹»¶ø½øÐÐÒ»´ÎÀ©ÈÝ£¬¶øArrayListÀ©ÈݺóµÄÈÝÁ¿Ôò±äΪÁË15000£¬¶ø¶à³öÁËÒ»¸öÔªËØ¾Í¶àÁË5000¸öÔªËØµÄ¿Õ¼ä£¬ÕâÌ«ÀË·ÑÄÚ´æ×ÊÔ´ÁË£¬¶øÇÒÀ©ÈÝ»¹»áµ¼ÖÂÕû¸öÊý×é½øÐÐÒ»´ÎÄÚ´æ¸´ÖÆ£¬¶øArrayList¼¯ºÏĬÈÏ´óСΪ10£¬Òò´ËºÏÀíµÄÉèÖÃArrayListµÄÈÝÁ¿¿É±ÜÃ⼯ºÏ½øÐÐÀ©ÈÝ¡£ArrayListÄÚ²¿À©ÈݺÍÊý×鏴֯´úÂëΪ£º

Object[] newArray = new Object[s + 
(s < (MIN_CAPACITY_INCREMENT / 2) ?
MIN_CAPACITY_INCREMENT : s >> 1)];
System.arraycopy(a, 0, newArray, 0, s);
array = a = newArray;

¶øVectorÄÚ²¿À©ÈݲßÂÔΪ°´ÐèÀ©ÈÝ£¬Ã¿´Î+1£º

if (capacityIncrement <= 0) { 
if ((adding = elementData.length) == 0) {
adding = 1;
}
} else {
adding = capacityIncrement;
}

E[] newData = newElementArray(elementData.length + adding);

ͬÑù£¬ÔÚÖÚ¶àMap¼¯ºÏÖÐÒ²Óи÷×ÔÀ©ÈݲßÂÔ£¬±ÈÈçHashMapÿ´ÎÀ©ÈÝʱÐÂÈÝÁ¿µÈÓÚԭʼµÄÈÝÁ¿*2¡£ÔÚÎÒÃdz£ÓÃ×ö×Ö·û´®Æ´½ÓµÄStringBufferºÍStringBuilderÄÚ²¿£¬Êµ¼ÊÉÏÒ²ÊÇÓÐÀ©ÈݲßÂÔ£¬Ä¬ÈÏΪÀ©ÈÝΪԭʼµÄ1.5±¶¡£

ËùÒÔ£¬ÔÚÕâЩÐèÒªÀ©ÈݵÄapiÉÏ£¬Èç¹ûÔ¤ÏÈÖªµÀÁËÊý¾ÝµÄ´óС£¬ÔòÔ¤ÏÈÉèÖã¬ÕâÑù²»½ö¿ÉÒÔ±ÜÃâÀ©Èݵ¼ÖµĿռäÀË·Ñ£¬¶øÇÒ»¹¿É±ÜÃâÄÚ²¿µ÷ÓÃSystem.arraycopy()½øÐдóÁ¿Êý¾Ý¸´ÖÆ¡£

³ÌÐòÈç¹ûÐèҪͨ¹ýË÷Òýϱê¶ÔList×öËæ»ú·ÃÎÊ£¬Ó¦ÓÅÏÈ¿¼ÂÇArrayListºÍVector£¬ÆÈ²»µÃÒѾ¡Á¿²»ÒªÊ¹ÓÃLinkedList

Ëä˵ArrayListÔÚÄÚ´æÉϱȲ»ÉÏVector£¬²»¹ýËü¶ÔÊý¾Ý²Ù×÷µÄЧÂʸߣ¬ÌرðÊÇÔÚAndroidµÈÒÆ¶¯É豸ÉÏ£¬²ÉÈ¡ÎþÉüÒ»µã¿Õ¼ä»»Ê±¼äµÄ·½Ê½»¹ÊÇ¿ÉÈ¡µÄ£¬¶øÉæ¼°µ½Ḭ̈߳²È«·½Ã棬ÔòʹÓÃVector¡£

Èç¹ûÒ»¸ö·½·¨²»ÐèҪʹÓøöÔÏóµÄ³ÉÔ±£¬ÄÇô°Ñ¸Ã·½·¨ÉèΪstatic

¾²Ì¬µ÷Óø÷½·¨±È¶ÔÏóµ÷Óø÷½·¨¿ì15%~20%£¬ÒòΪÕâÑù¿ÉÒÔ´Ó·½·¨Ç©ÃûÉϾͿÉÒÔ¿´³ö¸Ã·½·¨µ÷Óò»»áÓ°Ïì¸Ã¶ÔÏóµÄ״̬

ÇÉÓÃfinal¹Ø¼ü×Ö

final¹Ø¼ü×ÖÒ»°ãÔÚ¶¨Òå³£Á¿ºÍ·½·¨ÓõıȽ϶࣬¶ø´ó¶àÊýÈ˶ÔfinalµÄÀí½âÍùÍùÊÇÔÚ²»¿É±äÐÔÉÏ£¬¶øfinal¶ÔÐÔÄÜÓÅ»¯Ò²ÓкܴóµÄ×÷Óá£

±ÈÈ磺static int AGE = 10;µ±10ÔÚºóÃæ±»ÒýÓÃʱ£¬Õâʱ»áÓÐÒ»¸ö×ֶβéÕҵĹý³Ì£¬¶ÔÓÚintÀàÐÍÒ²¾ÍÊDzéÕÒ·½·¨ÇøÖеÄÕûÐͳ£Á¿³Ø£¬¶ø¶ÔÓÚfinalµÄ³£Á¿£¬ÔòʡȥÁËÕâ¸ö¹ý³Ì£¬±ÈÈ磺static final int AGE = 10;ÔÚʹÓõ½AGEµÄµØ·½½«Ö±½ÓÓÃ10´úÌæ¡£

²»¹ý¶ÔÓÚÉÏÃæÕâÖÖÓÅ»¯¼¼ÇÉ£¬½ö¶Ô»ù±¾ÀàÐͺÍStringÀàÐÍÓÐЧ£¬¶ÔÓÚÆäËüµÄÒýÓÃÀàÐÍÔòÎÞЧ£¬µ«ÊÇÎÒÃÇÔÚÉùÃ÷³£Á¿µÄʱºò¼ÓÉÏ static final ÒÀÈ»ÊǸöºÃϰ¹ß

¶ÔÓëfinal¹Ø¼ü×Ö£¬»¹ÓÐÒ»¸öÇ¿´óµÄ×÷Ó㬾ÍÊǶÔÄÇЩʹÓÃÆµ·±¡¢ÒѾ­È·¶¨ÎªÖÕ̬µÄ·½·¨¶¨Òåfinal£¬ÕâÑùÓÐʲôºÃ´¦ÄØ?

˵Õâ¸öǰÏÈÀ´ËµËµjavaÖз½·¨µÄÖ´Ðйý³Ì°É£¬µ±µ÷ÓÃij¸ö·½·¨Ê±£¬Ê×ÏÈÕâ¸ö·½·¨»áÈëÕ»£¬Ö´ÐÐÍê±Ïºó£¬Õâ¸ö·½·¨³öÕ»£¬×ÊÔ´ÊÍ·Å£¬¶øÕâ¸ö¹ý³ÌÄÚ²¿ÆäʵÊÇÄÚ´æµØÖ·µÄ×ªÒÆ¹ý³Ì£¬µ±Ö´ÐÐÈëÕ»µÄ·½·¨Ê±£¬Æäʵ¾ÍÊǰѳÌÐòµÄÖ´ÐеØÖ·×ªÒƵ½¸Ã·½·¨´æ·ÅµÄÄÚ´æµØÖ·ÖУ¬¶ø×ö´Ë²Ù×÷ǰ£¬»¹ÓбØÐë½øÐÐÔ­ÏȳÌÐòÖ´ÐеÄÄÚ´æµØÖ·±£´æ¹ý³Ì£¬µ±·½·¨Ö´ÐÐÍê³öÕ»ºóÔò¼ÌÐø°´±£´æµÄµØÖ·¼ÌÐøÖ´ÐгÌÐò£¬¶øÕâ¸ö¹ý³Ì£¬¾ÍÊÇ·½·¨µÄµ÷Óùý³Ì¡£

ËùÒÔ£¬·½·¨µÄµ÷Óùý³Ìʵ¼ÊÉÏÊÇÐèÒª¿Õ¼äºÍʱ¼äµÄ£¬¶ø¶ÔÓÚͬһ¸ö·½·¨µÄƵ·±µ÷ÓõÄÓÅ»¯Êµ¼ÊÉϾÍÊÇʹÓÃÄÚÁªµÄ°ì·¨¡£

ÓÖ˵µ½ÄÚÁªº¯Êý£¬ÄÚÁªº¯Êýʵ¼ÊÉÏÊÇÔÚ±àÒëÆÚ×öµÄÓÅ»¯£¬±àÒëÆ÷»á½«±êΪΪÄÚÁªµÄº¯ÊýÔÚÆäµ÷Óõĵط½Ö±½ÓÓÃÕû¸öº¯ÊýÌå½øÐÐÌæ»»µô£¬Õâ¾ÍʡȥÁ˺¯Êýµ÷ÓÃËùºÄÈ¥µÄʱ¼ä×ÊÔ´ÁË£¬¶ø»»À´µÄÈ´ÊÇÄ¿±ê´úÂëÁ¿µÄÔö¼Ó£¬ËùÒÔÄÚÁªÕâÖÖÓÅ»¯²ßÂÔʵ¼ÊÉÏÊDzÉÈ¡ÁËÒԿռ任ʱ¼äµÄ²ßÂÔ£¬¶ÔÓÚÒÆ¶¯¶ËÀ´Ëµ£¬ÇÉÓÃÄÚÁªº¯ÊýʵÔò·Ç³£ÓÐÒæ¡£

¶øÒªÊÇÒ»¸öº¯Êý³ÉΪÄÚÁªº¯Êý£¬¾ÍÊǽ«Ëü¶¨ÒåΪfinal£¬ÕâÑùÔÚ³ÌÐò±àÒëʱ£¬±àÒëÆ÷»á×Ô¶¯½«finalº¯Êý½øÐÐÄÚÁªÓÅ»¯£¬ÄÇôÔÚµ÷Óøú¯ÊýʱÔòÖ±½ÓÕ¹¿ª¸Ãº¯ÊýÌå½øÐÐʹÓá£

×ܽᣬ²¢²»ÊÇÄÚÁªº¯ÊýÔ½¶àÔ½ºÃ£¬Ò»·½ÃæËü¶ÔÎÒÃdzÌÐòµÄÔËÐÐЧÂÊÉÏȷʵÓÐÌáÉý£¬¶øÁíÒ»·½Ã棬¶ÔÓÚ¹ý¶àµÄʹÓÃÄÚÁªº¯Êý£¬Ôò»áŪÇɳÉ×¾£¬ÓпÉÄÜ»á°Ñij¸ö·½·¨µÄ·½·¨ÌåÔ½¸ãÔ½´ó£¬¶øÇÒ¶ÔÓÚijЩ·½·¨Ìå±È½Ï´óµÄ·½·¨£¬ÄÚÁªÕ¹¿ªµÄʱ¼äÓпÉÄܳ¬¹ý·½·¨µ÷ÓõÄʱ¼ä£¬ËùÒÔÕâ²»½ö²»»áÌṩÐÔÄÜ£¬·´¶øÊǽµµÍÁ˱¾¸ÃÓеÄÐÔÄÜ¡£

×ÛºÏÀ´¿´£¬ÎÒÃÇ¿ÉÒÔ¶ÔÄÇЩʹÓÃÆµ·±¡¢ÒѾ­È·¶¨ÎªÖÕ̬µÄ·½·¨¡¢·½·¨Ìå²»´óµÄ·½·¨ÓÃfinalÐÞÊΣ¬Ìṩ³ÌÐòµÄÐÔÄÜ¡£

ÓÅÏÈ¿¼ÂÇϵͳÖÐÌṩµÄ´úÂë¶ø²»ÊÇ×Ô¼ºÐ´

ϵͳÄÚÖÃÁËÐí¶à·Ç³£·½±ãµÄapi¹©ÎÒÃÇʹÓ㬱ÈÈ磺System¡¢Arrays¡¢Collections¡¢StringµÈÄÚÖÃÁËÐí¶à·½·¨api£¬Õâ±ÈÎÒÃÇ×Ô¼ºÊÖд·½±ã¶àÁË£¬³ýÁËÕâ¸öÍ⣬¶ÔÓÚAndroidÀ´ËµÐí¶àapi¶¼Ê¹ÓÃÁ˵ײãC/C++ʵÏÖ£¬ËùÒÔЧÂÊÉÏÒ²±ÈÎÒÃÇ×Ô¼ºÐ´¿ì£¬Í¬Ñù£¬¶ÔÓÚϵͳapi£¬DVMÍùÍùÒ²»áʹÓÃÄÚÁªµÄ·½Ê½Ìá¸ßЧÂÊ

É÷ÓÃÒì³£

É÷ÓÃÒì³£²¢²»ÊDz»ÓÃÒì³££¬¶øÊÇÖ¸³ÌÐòÖÐÓÃÅ×Òì³£µÄ·½Ê½À´Ö´ÐÐijЩ²Ù×÷£¬±ÈÈçÓÐЩÈË»áÒÔÇ¿Å×Òì³£·½Ê½À´ÖжÏijЩ²Ù×÷µÈ¡£ÒòΪÅ×Ò쳣ʱ¶¼»áÖ´ÐÐfillInStackTrace();·½·¨£¬¸Ã·½·¨×÷ÓþÍÊÇÖØÐµ÷Õû¶ÑÕ»£¬ÕâʹµÃûÓбØÒªÓÃÒì³£µÄµØ·½Ò»¶¨Òª±ÜÃâʹÓÃ

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

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶Ë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ÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ