마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

PdfRenderer Class 사용해 PDF viewer 구현관련 질문입니다

0 추천
PdfRenderer Class 사용해 PDF viewer (상하 Scroll 방식) 구현하려는 중입니다.

현재 기본 구현은 imageView 하나에 pdf page를 fully add 하는 방식으로 했더니...PDF 문서에 따라 다르겠지만 100page를 넘어가이 OOM이 발생합니다.

80page 만 로드해도 메모리를 150mb를 차지하고 있습니다. 타 오픈소스 라이브러리 사용한 샘플을 보니 평균 25mb 를 사용하고 있는데...

App 구현을 어떻게 해야할까요? 스크롤시 동적 로딩하고 안보는 page들은 해제 해야할것 같은데...구현을 어떻게 해야할지...

많은 의견 부탁 드립니다.
WolfxWolf (220 포인트) 님이 2017년 1월 4일 질문

1개의 답변

+1 추천
개인적으로 pdf viewer를 만들어 봤는데요..

안드로이드 sdk의 pdf 연관 클래스나 pdfium.. 별로 안 좋습니다.

 

mupdf 쓰세용..
mcsong (44,040 포인트) 님이 2017년 1월 4일 답변
mupdf 라이센스가 AGPL 이네요
취미로 만들어만 본거라서.. 라이선스 확인을 안 했는데.. AGPL이네요.. 이건 쓰기 힘들거 같고.. pdfium을 살펴보시는 것이 좋을 듯 합니다.
따로 라이브러리 추가를 할 수 있는 상황이 아니라^^; render 클래스로만 사용하려는데, scroll 시 이벤트를 받고 그에따라 memory 최적화를 하려고 하는지라;; 흠...

아 참고로 apache 라이센스의
https://github.com/JoanZapata/android-pdfview 있습니다.
pdfium 사용한것으로 알고 있습니다.
링크해 주신 라이브러리는 몇년전에 앱에서 사용한 거네요..

Vertical ViewPager와 FragmentStatePagerAdapter를 사용해서 개별 페이지를 Fragment로 구현하시면 될 것 같습니다.
https://github.com/JoanZapata/android-pdfview 도 NDK 빌드하면 mupdf 라이브러리 참조하고 있습니다.
...