else if(tsthour[i] +3 == tendhour[i] && tstminute[i] == tendminute[i]) //3.0
{
tu[11].setBackgroundColor(0xffE0FFFF);
tu[12].setBackgroundColor(0xffE0FFFF);
tu[13].setBackgroundColor(0xffE0FFFF);
tu[14].setBackgroundColor(0xffE0FFFF);
tu[15].setBackgroundColor(0xffE0FFFF);
tu[16].setBackgroundColor(0xffE0FFFF);
tu[11].setText("");
tu[12].setText(tsubname1[i]);
tu[13].setText("");
tu[14].setText(tclassroom[i]);
tu[15].setText("");
tu[16].setText(tprofessor[i]);
}
}
이런식으로 코드가 지금 6천줄이 들어가있습니다..
그런데 4999줄 까지는 저장이 잘 되었는데
5000줄을 넘어가니 Unable to execute dex: Java heap space 에러가 나면서 저장이 되지를 않습니다..........
찾아보니 배열이 1만개 이상 안들어간다고 하는데. 계산해보면 배열은 1만개가 안됩니다..
그렇다면 코드 줄 수 때문이라는거 같은데. 어떻게 해야 하나요...ㅠㅠ 코드 줄 수 때문에 이런 현상 나타나는건 맞나요?ㅠ
한 파일에 5000줄이면 안되는 건가요? (사실 라인수 제한은 저도 처음 들어봐서요;;)
그렇다면 파일(클래스)을 적당히 나누면 되지 않을까 생각되네요.
헌데 에러는 할당공간 문제같은데 저 코드만 봐서는 정확히 모르겠군요...
디버깅하다가 토 하실수도 있겠다는 생각이 드네요 ㅋㅋ.
라인수 때문에 에러나는건 아닐것 같은데.. 배열같은 경우는 갯수가 문제되기 보다는 배열로 인해 사용되는 데이터크기가 중요 하거든요.
배열뿐만 아니라 각종 데이터나 클래스에서 사용하시는 데이터타입들의 크기들의 합이 jvm에 할당되는 heap memory를 초과해서 out of memory error가 발상한게 아닐 까 추측해보네요... 진짜 라인때문에 문제가 생겼다면 미개척 버그를 발견하신거구요 @.@




코드 줄 수 때문인지 알아보시려면 토스트 코드를 한줄 넣어보심은 어떨까요? 코드가 길어서 저장이 안된다니.... -ㅁ-;;;; 뭔가 엄청나보이네요.