안드로이드 개발 질문/답변
(글 수 45,052)

지금 ExpandableListActivity 를 이용하여 텍스트 파일로 부터 데이터를 읽어들여 화면에 보여주는 것을 테스트 중인데요...
위의 그림과 같이 10번 라인쯤에서 텍스트 파일로부터 읽어들인 데이터를 제대로 펼쳐보여주지 못하네요...
아마도 TextView로 보여줄 수 있는 라인의 한계치가 있는것 같은데....
이것을 알 방법을 못찾겠네요... 여기저기 알아봐도...
그리고 현재 읽어들이는 텍스트 파일의 용량이 645Kbytes 인데 이것이 대략 1MB 정도가 되면 OutOfMemoryError 가 나오더군요...
이와 같이 텍스트 파일의 긴 문장을 읽어들일 경우 전체 내용을 출력해줄 방법이 없을까요?
만약 용량이 크다면 쪼개서 (텍스트 파일로 부터 부분 부분을 읽어들여 보여주는) 보여주어야 할까요?
음... 답답하네요.. 쩝....
2009.12.16 17:16:49
몇차례의 테스트 결과 500 Kbytes가 한계이가보네요.. 이 이상 파일이 커져버리면 읽어와도 화면에 뿌리지 못하거나 OutOfMemoryError 뜨네요....
2009.12.17 08:01:57
저 라인이 각각 이미 파일을 읽어들인 상태인가요? 그렇다면 10번째쯤 파일을 읽어들일때 이미 힙을 다 써서 저런 에러가 나는거 같은데 -_-;; 참고로 어플힙의 최대사이즈는 16MB입니다. (물론 내부적으로 UI나 기타등등으로 소비되는 메모리가 있기 때문에 16MB를 풀로 쓰진 못하죠)
그리고 힙이 모자랄 경우에는 한번에 다 할당하기보다는 적절하게 부분로딩해서 보여줘야할 겁니다. ^^
그리고 힙이 모자랄 경우에는 한번에 다 할당하기보다는 적절하게 부분로딩해서 보여줘야할 겁니다. ^^
2009.12.17 09:04:11
내용이 펼쳐지는 것만 불려지게끔 만들어져 있어요...
단점이라면, 사용자가 죄다 열어놨을 경우 나르님께서 말씀하신 문제에 봉착할 가능성이 크죠...
저 그림의 상태에서는 10번째 하나만 로딩 되었습니다.
로딩당시 힙의 메모리 상태를 확인해봤는데 4MB~5MB수준을 유지하고 있었습니다.
음... 제 생각에는 TextView로 보여줄 수 있는 한계가 있는것 같습니다.
API 여기저기 뒤져 보았습니다만, 그와 관련된 내용을 아직까지 보진 못했기에...
그저 추정할 뿐인 상태입니다.
단점이라면, 사용자가 죄다 열어놨을 경우 나르님께서 말씀하신 문제에 봉착할 가능성이 크죠...
저 그림의 상태에서는 10번째 하나만 로딩 되었습니다.
로딩당시 힙의 메모리 상태를 확인해봤는데 4MB~5MB수준을 유지하고 있었습니다.
음... 제 생각에는 TextView로 보여줄 수 있는 한계가 있는것 같습니다.
API 여기저기 뒤져 보았습니다만, 그와 관련된 내용을 아직까지 보진 못했기에...
그저 추정할 뿐인 상태입니다.
음... TextView가 화면에 출력해줄 수 있는 용량이 대략 600 Kbytes 에서 플러스 마이너스 알파 정도 되는듯 싶네요...
대략 1MB 정도까지는 읽어 들였으면 좋겠는데... 어찌해야하나... ㅠㅠ
아시는 분 계시면 댓글좀 부탁드려요... ㅠㅠ