6.1学习内容 ndk编程释放内存,C语言中char*添加字符得方法,java二维数组的读取与生成

29 篇文章 0 订阅
1 篇文章 0 订阅

ndk的内存释放:

//回收
                (*env)->ReleaseIntArrayElements(env,value, codeLineArray,0);
                (*env)->ReleaseIntArrayElements(env,(jintArray)codeLineArray, codeLineData,0);

                (*env)->DeleteLocalRef(env, value);
                (*env)->DeleteLocalRef(env, codeLineArray);
                (*env)->DeleteLocalRef(env, codeLineData);

                value=NULL;
                codeLineArray = NULL;
                codeLineData=NULL;

往一个string添加char的方法:

//init    
char *ret = malloc(1);
strcpy(ret, "");
//add char
char addchar[]={'\n'};
strcat(ret, addchar);


java二维数组的读取与生成

读取

 jintArray textBinArr = (jintArray)(*env)->CallObjectMethod(env,code,valueGetMethod,firstKey);
    int codeHeight = (*env)->GetArrayLength(env, textBinArr);
    LOGI("codeHeight:%d",codeHeight);

    int picHeight = (*env)->GetArrayLength(env, pic);
    LOGI("picHeight==%d",picHeight);

for (i = 0; i < picHeight; i+=picHeight) {
        jarray lineArray = ((*env)->GetObjectArrayElement(env, pic, i));
        int picWidth =  (*env)->GetArrayLength(env, lineArray);
        jboolean *lineData = (*env)->GetBooleanArrayElements(env, (jbooleanArray)lineArray, 0 );
        for (j=0;j<picWidth;) {
        	//[i][j]=lineData[j]
        }
}
生成:

   //new boolean[][]
    jobjectArray ret;
    jclass boolArrCls = (*env)->FindClass(env, "[Z");
    if ( NULL== boolArrCls) {
        return NULL;
    }

    ret = (*env)->NewObjectArray(env, info.height , boolArrCls, NULL);
    jboolean tmp[info.width];//固定数组,测试用,注意别溢出

    for (int i=0 to 100) {
	jbooleanArray boolArr = (*env)->NewBooleanArray(env,width);

	for (j 0 to 1000) {
		tem[j]=randonInt();


	}
	(*env)->SetBooleanArrayRegion(env,boolArr, 0, width, tmp);
               (*env)->SetObjectArrayElement(env,ret, y, boolArr);
               (*env)->DeleteLocalRef(env,boolArr);

    }






吐槽一下今天:

几个20多岁的朋友都想过6.1,是不是脑子都抽水了?

NDK代码量比java多了好多;

打算去北京,好多人反对;

还没女朋友~









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值