2011-08-03 49 views
1

我有一個協議實現,其中一部分協議要求將元數據寫入數據庫,更準確地說,該協議是關於在主機系統和移動手持機之間同步歌曲。JNI調用接口:在jni調用期間報告的SIGSEGV

該協議的實現是在C/C++和數據庫我們使用sqlite作爲後端和實現在java中使用android內容提供者。另外,我們使用JNI Invocation將歌曲元數據從C傳遞給Java。

這個實現適用於幾首歌曲,但是當大量歌曲(比如50)同時同步時,同步將在大約37-38首歌曲同步後突然停止。

這是由於SIGSEGV發生的,我們從/ data/tombstones得知這一點,並發現崩潰總是在JNI調用期間發生,即對env->方法的調用。

請讓我知道可能是什麼問題和可能的解決方案。

回答