먼저 - Java에 대한 많은 경험이 없었으며 Android SDK에 관해서는 초보자입니다.Java에서 파일을 재귀 적으로 추가 - 속도 문제
저는 음악 플레이어 앱을 작성하려고합니다. 시작했을 때 mp3 파일을 위해 전체 SD 카드를 검색합니다.
현재이 내가 그 일을 해요 방법은 다음과 같습니다
// Recursively add songs in a directory
public void addSongsInDirectory(File dir, String filter) {
File[] files = dir.listFiles();
if (files != null) {
for (File f : files) {
if (f.isDirectory()) {
addSongsInDirectory(f, filter);
} else {
// Create new MimetypesFileTypeMap
MimetypesFileTypeMap mtfm = new MimetypesFileTypeMap();
// Add the mp3 mimetype
mtfm.addMimeTypes("audio/mpeg mp3");
// If current song is audio/mpeg, add it to the list
if (mtfm.getContentType(f).equals(filter)) {
songs.add(f.getName());
}
}
}
}
}
불행히도, 많은 노래를 내 휴대폰에,이 과정은 약 30 초 정도 걸립니다. 이 기능을 어떻게 최적화하여 신속하게 (그리고 백그라운드에서) 작동시킬 수 있습니까?
어떤 노래 :
코드를 다음과 같이 보일 것인가? 그 Justin Bieber라면 그냥 삭제할 것입니다. – krock
krock : 문제 해결 방법에 대해 감사드립니다. 그것은 필터 규칙과 블랙리스트가 무엇을위한 것인지 ... –