在封装本地数据库时发现的一个问题 ,比如在线程A中通过Jni创建 C/C++ 对象database,并且将该对象返回给Java端保存,然后在线程B中使用database对象,可能导致jni异常程序crash(fault addr 0xfffffffc)。查了下资料了解到在jni调用中新建的对象是和当前线程相关的,然后动手修改了一下程序,将新建的database和线程绑定(及A,B线程获取database的实例时,会生成两个实例),改完之后程序能正常运行。
Android Jni多线程对象使用问题
最新推荐文章于 2023-11-03 14:24:03 发布