Android Development

JNI local reference changes in ICS by Android Developer Blog.

꿈소년 2012. 3. 21. 11:01
참조 : http://android-developers.blogspot.com/2011/11/jni-local-reference-changes-in-ics.html

 JNI local reference 와 관련하여 ICS의 변경사항 및 버그 이슈들에 대한 내용. 

ENG 와 User 모드일 때 동일한 어플이 다른 실행을 보이는 경우에 간혹 dalvikVM 에서 VM aborting 이 발생하는 경우가 있으므로 확인이 필요하다.
 
이와 관련한 내용으로 다른 참조 내용이 있다.

1.  http://stackoverflow.com/questions/7864614/android-jni-getobjectclass-crashes-with-sigsegv-not-a-valid-jni-reference 
JNI 관련 에러에 대한 Q&A 내용이 있다. valid JNI reference 가 아니라는 메시지와 관련된 오류 내용을 명시했는데 JNIEnv* 와 관련이 있는 걸로 나와있다.

2.  http://beforu.egloos.com/1134737 
JNI 관련하여 발생되는 오류는 결국 GC 때문이라고 한다. 안드로이드가 direct pointer 를 사용하는데 이것이 GC에 의해 문제가 생기는 걸로 나온다. 이 링크는 GC에 대한 이론적 내용이다.

3.  http://www.androidpub.com/682526 
NDK를 이용한 JNI 개발 시에 local reference 로 인한 memory leak 내용이 언급되어 있다. 

4.  http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)#Moving_vs._non-moving 
여기서 중요한 점은 moving 이냐 아니냐의 차이인 것 같다. JNI 관련해서 moving 기술을 이용한 GC의 경우 문제가 생긴다. 

5.   http://android-developers.blogspot.com/2011/07/debugging-android-jni-with-checkjni.html 
CheckJNI 에 대해 언급한 블로그 내용. CheckJNI가 무엇인지, 어떻게 사용할지에 대해 나온다. JNI 개발 시 유용한 내용도 포함된다. 
 
반응형