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

안드로이드 스튜디오 code too large

0 추천
(제 기준)조금 복잡한 명령어였던 지라 반복문을 사용할 엄두가 나지 않아 직접 모두 코딩했는데요,
6775문장인가 나왔습니다.
실행해보려고 하니 code too large라는 에러가 뜨면서 실행이 안되는데(실행해도 작동 안함)
이런 경우에는 어떻게 해야 할까요?
혹시 최대 코드 길이가 얼만큼인지 알 수 있을까요?
볼가살이 (220 포인트) 님이 2019년 6월 12일 질문

1개의 답변

0 추천
 
채택된 답변

https://codeday.me/ko/qa/20190401/188043.html

코드 줄 수로는 알 수 없고, 자바코드가 바이트코드로 컴파일 될 때, 메소드당 65535바이트로 제한됩니다. 

즉, 하나의 소스 파일의 크기와 상관없이 메소드의 크기를 줄이면 됩니다. 

메소드에서 에러가 나지 않는 선까지 뒷 줄을 잘라보시고, 그 줄을 새로운 메소드로 정의해서 호출하세요.

그리고 초보시니까 그렇게 길게 작성하셨겠지만, 잘못된 것이라는 것은 아시죠? 제어문도 많이 쓰시고 최대한 기능별로 잘게 잘라서 메소드를 작성해 보도록 하세요. 

void bigMethod() {
     a = 1;
     b = 1;
     .......
     zzy = 1;
     zzz = 1;     
}
// 위를 아래처럼 대체
void bigMethod() {
     a = 1;
     b = 1;
     ... 
     extraMethod();
}
void extraMethod() {
     zzy = 1;
     zzz = 1;
}

 

tellmeo (940 포인트) 님이 2019년 6월 13일 답변
볼가살이님이 2019년 6월 13일 채택됨
감사합니다.
65535바이트 제한이군요!
...