java如何创建native对象

来源:互联网 发布:ipad小说软件 编辑:程序博客网 时间:2024/06/07 16:03

必须使用jni,而且应该用C语言的malloc或者C++的new关键字。实例代码如下:

JNIEXPORT void JNICALLJava_com_example_demo_TestMemory_nativeMalloc(JNIEnv *, jobject)  {                     void * p= malloc(1024*1024*50);              SLOGD("allocate50M Bytes memory");              if (p !=NULL)           {                            //memorywill not used without calling memset()                     memset(p,0, 1024*1024*50);           }           else                     SLOGE("mallocfailure.");     ….     ….  free(p); //free memory  }  

或者:

JNIEXPORT voidJNICALL Java_com_example_demo_TestMemory_nativeMalloc(JNIEnv *, jobject)  {                     SLOGD("allocate 50M Bytesmemory");           char *p = new char[1024 * 1024 * 50];           if (p != NULL)           {                            //memory will not usedwithout calling memset()                     memset(p, 1, 1024*1024*50);           }           else                    SLOGE("newobject failure.");   ….  ….  free(p); //free memory  }  


原创粉丝点击