Android Jni多线程对象使用问题

来源:互联网 发布:网络推广是销售吗 编辑:程序博客网 时间:2024/06/03 06:16
在封装本地数据库时发现的一个问题 ,比如在线程A中通过Jni创建 C/C++  对象database,并且将该对象返回给Java端保存,然后在线程B中使用database对象,可能导致jni异常程序crash(fault addr 0xfffffffc)。查了下资料了解到在jni调用中新建的对象是和当前线程相关的,然后动手修改了一下程序,将新建的database和线程绑定(及A,B线程获取database的实例时,会生成两个实例),改完之后程序能正常运行。
0 0