2011-12-28 9 views
3

파일에서 임의의 위치에서 문자열을 읽는 가장 빠른 방법은 무엇입니까? 파일은 SD 카드에 있으며 코드는 Android에서 실행됩니다.파일에서 String을 읽는 가장 빠른 방법은 무엇입니까?

현재 수행중인 작업 - 바이트 배열로 바이트를 읽어 String 생성자에 전달합니다. charset은 UTF-8입니다. 실행 시간의 약 90 %는 Charset.decode (...)가 병목 현상이있는 String 생성자에서 사용됩니다.

내가 읽는 문자열은 대중 교통 정류장 이름이므로 평균 약 15 자입니다.

EDIT : Android 2.3.3 에뮬레이터에서 테스트되었으며 2.1보다 훨씬 빠릅니다 (아마도 JIT 컴파일러 때문일 수 있음). 각 String은 약 1ms 이내에 읽을 수 있습니다.

답변

0

읽으려는 바이트 수, 읽기 바이트에서 새 문자열을 작성하는 빈도 또는 스크립트가 실행되는 데 걸리는 시간을 언급하지 못했습니다.

일부 코드를 게시하면 수행중인 작업을 수행하기 위해 사용중인 알고리즘을 알려주십시오. 필자는 직접 작성하지 않고 디코드 기능을 제어 할 수 없으므로 사소한 최적화처럼 들린다. 다른 모든 것들이 최적화되어 있다면, 파일을 읽는 것만큼 빨리 빠르다고 말하고 싶습니다. 다시 한번 말하면, 우리는 몇 번의 작전을하고 있습니까? 이 추적 추적 기간은 얼마나 걸립니까?

+0

추가 정보를 추가했습니다. 나중에 추가하겠습니다. – fhucho

관련 문제