안드로이드 개발 질문/답변
(글 수 45,052)
미디파일을 300개 정도 불러와서 출력해야 하는데요,
미리 파일 용량은 다 합쳐도 100kb 도 안되는데,
한 50개 넘어가면 로그캣에 GC_EXPLICIT 뜨고 프로세스가 죽네요.
30개 정도로 하면 잘 되거든요,
미디 파일은 리소스로 추가한 상태고요 코드는 이렇습니다.
_map = new HashMap<String, Integer>(300);
_soundPool = new SoundPool(300, AudioManager.STREAM_MUSIC, 0);
for (Field field : R.raw.class.getFields()) {
try {
_map.put(field.getName(), _soundPool.load(_context, field.getInt(R.raw.class), 1));
} catch (Exception e) {
}
}
다른 곳은 이상없는 거 다 확인했는데 _soundPool.load 요녀석이 문제네요.
최대 스트림을 크게 잡아줘도 안되고 AVD 메모리 늘려줘도 안되고 뭘 어떡해야할지 모르겠어요.