자기소개 앱 개발 중 랜덤으로 이미지가 출력되게 하는 기능을 만들고 있었다.
테스트를 하기 위해 디버그를 하는 도중 앱이 실행될 때 계속 다운되는 현상이 발생했다. 에러를 해결하기 위해 Logcat을 확인해 보니 이러한 에러가 떴다.
구글에 RuntimeException: Canvas: trying to draw too large 검색을 해본 결과 Exception은 메모리 캐싱 등의 부가 기능을 제공해주는 이미지 라이브러리 없이 직접 메모리 용량이 큰 이미지를 View에 로딩 했을 때, 나타나는 문제이다.
쉽게말해서 발생 원인은 이미지가 너무 커서
앱이 구동된 환경의 캔버스에서 못 그리겠다는 것이다.
Android manifest 파일의 application에 해당 2가지 속성을 추가해준다.
android:largeHeap="true"
android:hardwareAccelerated="false"