나는 1740 권의 책 중에서 50571 개의 문서를 가진 Lucene 색인을 가지고 있습니다. 이 색인을 만드는 두 개의 프로세스가 있습니다. 첫 번째 프로세스는 문서별로 장치 문서에 색인을 작성하는 것입니다. 이 과정은 매우 느립니다. 다른 프로세스는 서버에서 책 색인을 작성하는 것입니다 (장치에서 작성하는 것과 완전히 똑같은 방법). 마스터 색인과 함께 다운로드하여 병합하십시오. 이 방법은 마스터 인덱스를 만드는 것이 훨씬 빠릅니다. 색인 생성은 어느 쪽이든 잘 작동합니다.Android Lucene OutOfMemoryExceptoin
문제는 다운로드 - 병합 색인에서 검색 할 때 OutOfMemoryException
이 표시되지만 장치에서 생성 된 색인으로 검색 할 때 오류가 발생하지 않습니다. 나는 색인 책을 책 (download-merge)으로 만들고 각 책이 색인 된 후 검색했다. 그것에 기초를 두어 ~ 450에 책을 얻을 때 나는 OutOfMemoryException
를 얻기 시작한다.
메모리가 부족한 원인.
현재 코드에서 무엇이 문제를 일으키는 지 말할 수 없습니다. 예외 stacktrace 및 귀하의 질문에 관련된 코드를 추가하십시오. 나는 모든 데이터를 한번에 메모리에 보관하기 위해 어떤 종류의 큰 데이터 구조를 구축했다고 생각합니다. 그 중 하나는 아마도 너무 큽니다. 이 경우 청크로 데이터를 처리하십시오. – zapl