마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

jni문제! loadLibrary 를 2개의 클래스에서 해도되나요?

0 추천
두개의 클래스에서 같은 jni 네이티브라이브러리를 로드해줘야하는 상황입니다!

그래서 같은 라이브러리를 다른 클래스 두곳에서 loadLibrary해줫거든요?

근데 동작을 하긴하는데..

불안정하긴해요 근데이게 이문제인지 다른문제인지 모르겟네요 ㅎㅎ

혹시 아시는분잇나요??

만약 저게 안좋다면 어떤식으로 바꿔야하는지도 알려주세요 ㅠㅠ

참고로 두 클래스에서 사용하는 네이티브 함수가 다르긴한데

라이브러리를 두개로 못나누겟더라구요 ㅠㅠ그래서 합친거에요 ㅠㅠ
익명사용자 님이 2014년 9월 28일 질문

2개의 답변

+1 추천

일반적으로는 이미 로드 된 것은 다시 로드를 하지 않고 skip 시키기 때문에 문제가 안됩니다만.

안드로이드는 파편화가 많이 되어 있어 100% 장담은 못하겠네요...=ㅇ=;

 

전 아래와 같이 별도 클래스에서 로드하게 하는 방식으로 사용하고 있습니다.

static
{
  LibraryLoad.load();
}
 
public class LibraryLoad
{
  static private boolean mLoad = false;
  static public void load()
  {
  if(mLoad) // 이미 로드되어 있으면  리턴
     return;
   // 라이브러리 로드 코드를 넣어주세요..
 
 
   mLoad = true;
  }
}

 

사악미소 (65,330 포인트) 님이 2014년 9월 29일 답변
0 추천
정상적인 방법은 두 클래스를 하나로 합치거나 각 클래스별로 so를 나누는 것입니다.
익명사용자 님이 2014년 9월 29일 답변
...