ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

Android - ±àдǿÒýÓÃJava¶ÔÏó
2014-11-24 12:46:55 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1´Î
Tags£ºAndroid ±àд ÒýÓà Java ¶ÔÏó

JAVAÓиöÀ¬»ø»ØÊÕ»úÖÆ£¬Ã»ÓÐÒýÓõĶÔÏó»á±»ÐéÄâ»úÔÚÕûÀíÄÚ´æÊ±½øÐлØÊÕ£¬ËùÒÔʹÓÃÈõÒýÓÃjava¶ÔÏóʱ£¬¶øÊµ¼Êµ÷ÓÃΪ³Ö¾Ã¶ÔÏóʱ½«»á³öÏÖÎÊÌâ¡£²¢ÇÒÕâ¸öÎÊÌâÓÐʱ»áËæ»ú³öÏÖ£¬Õâ¸ö»áÄÚ´æÕûÀí»ØÊÕʱ»úÓйء£


ÏÂÃæ£¬ËµÏ¶ÔÓÚÔÚJNIÖÐʹÓÃJAVAÖжÔÏó´úÂë±àд·½·¨£º


JAVAÀà·½·¨±àд£º


JNI ±àд·½·¨£º


ÔÚJNIÖÐÌṩÈýÖÖÀàÐ͵ÄÒýÓãº


1¡¢Local Reference ±¾µØÒýÓ㬺¯Êýµ÷ÓÃʱ´«Èëjobject»òÕßjniº¯Êý´´½¨µÄjobejct£¬ÆäÌØµã¾ÍÊÇÒ»µ©JNI²ãº¯Êý·µ»Ø£¬jobject¾Í±»À¬»ø»ØÊÕµô£¬ËùÒÔÐèҪעÒâÆäÉúÃüÖÜÆÚ¡£¿ÉÒÔÇ¿ÖÆµ÷ÓÃDeleteLocalRef½øÐÐÁ¢¼´»ØÊÕ¡£


jstring pathStr = env->NewStringUTF(path)


....


env->DeleteLocalRef(pathStr);


2¡¢Global Reference È«¾ÖÒýÓà £¬ÕâÖÖ¶ÔÏóÈç²»Ö÷¶¯ÊÍ·Å£¬ËüÓÀÔ¶¶¼²»»á±»À¬»ø»ØÊÕ


´´½¨£º env->NewGlobalRef(obj);


ÊÍ·Å£º env->DeleteGlobalRef(obj)


3¡¢Weak Global Reference ÈõÈ«¾ÖÒýÓã¬Ò»ÖÖÌØÊâµÄ Global Reference ,ÔÚÔËÐйý³ÌÖпÉÄܱ»À¬»ø»ØÊÕµô£¬ËùÒÔʹÓÃʱÇëÎñ±Ø×¢ÒâÆäÉúÃüÖÜÆÚ¼°ËæÊ±¿ÉÄܱ»À¬»ø»ØÊÕµô,±ÈÈçÄÚ´æ²»×ãʱ¡£


ʹÓÃǰ¿ÉÒÔÀûÓÃJNIEnvµÄ IsSameObject ½øÐÐÅж¨ËüÊÇ·ñ±»»ØÊÕ


env->IsSameObject(obj1,obj2);


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºAndroid ͨ¹ý surface jni²ã²¥·Åy.. ÏÂһƪ£ºAndroidʼþ¼àÌýÆ÷£¨Event Listen..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)