美文网首页
Failed adding to JNI pinned arra

Failed adding to JNI pinned arra

作者: wenzhiming | 来源:发表于2016-05-08 21:29 被阅读632次

    Crach log信息:

    jni crach.png

    复现步骤:

    频繁的点击登录按钮 (频繁调用xxkey.so)

    分析:

    这是因为在登录的时候,需要读取so库中的公钥信息,所以频繁的通过JNI机制进行了java和C相互调用,这样就产生了很多垃圾。查看c代码,发现没有释放空间,所以就crach了。

    解决办法:

    在c文件中,每次return返回数据前释放资源:

    (*env)->ReleaseByteArrayElements(env,barr, pBarr, 0);
    

    运行程序 测试,果然ok了。JNI技术在Android开发中用的越来越普遍了,需要花时间研究研究啦。

    相关文章

      网友评论

          本文标题:Failed adding to JNI pinned arra

          本文链接:https://www.haomeiwen.com/subject/xtufrttx.html