2013-08-01 4 views
0

약 520 개의 작은 png가 필요한 앱을 쓰고 있습니다. 나는 이것을 내 자산 폴더에 저장했고 getAssets()를 사용하여 액세스합니다.이미지 수가 많아 Android 앱이 다운 됨

그러나 시작시 응용 프로그램이 다운되고 폴더의 이미지 수가 줄어들면 정상적으로 작동합니다. 추가 이미지를 다른 곳에 저장하거나 내 앱에서 처리 할 수있는 이미지의 크기를 늘릴 수 있습니까?

내 로그 캣 에러

각 이미지에 대한 4킬로바이트 큰 총 폴더 사이즈가 2.1 메가

인 관련 코드는 "(갖는다 512 개 항목) JNI 로컬 REF 테이블에 추가 실패"된다

 AssetManager assets = getAssets(); 
    fileNameList = new ArrayList<String>(); 
    fileNameList.clear(); 

    String[] paths; 
    try { 
     paths = assets.list("final"); 

     for (String path : paths) 
      fileNameList.add(path.replace(".jpg", "")); 

    } catch (IOException e) { 
     Log.e(TAG, "Error loading image file names", e); 
    } // end catch 
+1

게시 후 logcat 오류 –

+0

파일 크기 (파일 크기)는 얼마나 png입니까? 또한 OutOfMemory 오류로 인해 충돌이 발생합니까? 어떻게 표시되고 있습니까 (예 : listview, imageview, gridview)? 이 작업을 수행하려면 저해상도 이미지를 사용하여 파일 크기를 줄여야합니다. – Rarw

+0

@ goran-horia-mihail : 내 게시물을 업데이트했습니다. – user1801060

답변

0

고객님의 답변은 in this post입니다. 참조 테이블을 512 항목 이상으로 확장 할 수 없으므로 공간을 확보하기 위해 클래스 및/또는 객체에 대한 로컬 참조를 삭제해야합니다.

+0

번호를 줄였습니다. 변경도없고 또한 왜 JNI 오류가 나는지 도저히 알 수 없지만 JNI를 내 코드에 사용하지 않았다. – user1801060

+0

그러면 의미가 없습니다. – Rarw

관련 문제