Android 컴파일러는 어떻게 작동합니까? 컴파일시 Java 코드 및 Android XML 파일의 주석을 제거합니까?Java 파일을 Android에서 컴파일 한 후 주석에 어떤 현상이 발생합니까?
답변
Java 파일의 주석은 클래스 파일로 컴파일 될 때 제거되거나 무시됩니다. 클래스 파일은 사람이 읽을 수있는 파일이 아니며 가상 컴퓨터에서 효율적으로 실행되도록 최적화되어 있습니다. 주석을 남겨두면 클래스 파일이 필요 이상으로 커지고 추가 이점이 없습니다 (예 : 컴파일러와 가상 머신이 주석을 이해하지 못하는 이유).
XML 파일은 일반적으로 주석이 유지됩니다. 컴파일 된 클래스 파일은 가상 시스템에서 실행될 목적이 1 개 뿐이지 만 XML 파일은 다양한 용도로 사용할 수 있습니다. 예를 들어 XML 파일을 응용 프로그램에로드하고 조작 할 수 있습니다. 응용 프로그램에서 XML 파일을 사용하는 경우 주석을 유지해야 할 수도 있습니다. 실제로 응용 프로그램에서 주석을 찾을 수도 있습니다. XML 파일은 다양한 용도로 사용할 수 있기 때문에 다른 용도로 사용하기 위해 XML 파일에서 주석을 제거하지 않습니다.
감사! 알았다. :) 어쩌면 보안을 위해 응용 프로그램을 내보내기 전에 XML에 대한 일부 의견을 삭제해야 할 수도 있습니다. – Arci
보안 의미가 우려되는 경우 XML에서 주석을 제거하는 것이 좋습니다. 주석이 많은 경우 XML 파일을 읽을 때 모든 주석을 건너 뛰어야하므로 응용 프로그램 실행 속도가 약간 느려집니다. XML 파일은 사람이 읽을 수 있도록 고의적으로 설계되었습니다 :-) – wattostudios
Thanks! 이미 내 의견을 삭제하겠습니다. – Arci
댓글은 모두 높은 변환 것을
컴파일러는 방식으로 작동합니다 .. 컴파일시에 컴파일러에 의해 무시됩니다 file..comments의 바이트 코드 /을 .class 버전에 존재하지 않는 레벨 이해할 수있는 코드를 작성하는 언어 코드. 한 번에. 인터프리터처럼 줄 단위가 아닙니다 .. 안드로이드의 경우 .. 컴파일러는 .java 소스 파일을 바이트 코드/.class 파일로 변환합니다. .dex 파일 (Dalvik 실행 파일) .. 안드로이드의 모든 응용 프로그램은 .dex 파일을 필요로하는 Dalvik Virtual Machine이라고 불리는 가상 머신 위에서 실행됩니다.
압축 파일과 같은 apk 파일을여십시오. g any archiver .. 거기에있는 classes.dex 파일을 볼 수 있습니다 ..
xml 파일에 관한 한, 그들은 화면에 뭔가를 표시 할 때만 응용 프로그램에서 사용됩니다 (예 : Activity being 렌더링) .. 그래서 활동의 시간에 표시됩니다. 해당 XML 파일은 UI를 구성하는 데 사용됩니다 ..이 과정은 팽창이라고합니다!
편집 : [1 포인트는 지금이 점에 대해 기억하고 있습니다 .. 안드로이드 전화에있는 시스템 응용 프로그램 .. 모든 Google 제공 애플 리케이션 (Gmail,지도 등) .. 연락처, 전화. apk 등등. apk 파일 내에 .dex가 포함되어있는 경우, 시스템 apk ../present/system/app/디렉토리에 존재합니다. 그들은 .dex 파일을 포함 할 수도 있고 포함하지 않을 수도 있습니다 ..
우리가 개발하는 일반 앱처럼). 그런 다음 ROM은 de-odexed ROM (안드로이드 OS의 펌웨어)으로 불린다.하지만 ROM이 복사되기 때문에 ROM이 처음으로 설치되면 부팅이 느려진다. 시스템 .apk 파일에서 dalvik 캐시에 이르는 모든 .dex 파일. 시스템 시작/부팅시 시스템 apk의 모든 .dex 파일이 필요합니다.
그러나 ROM이 odexed 인 경우 시스템 .apk의 모든 .dex 파일은 .apk 내에 없지만/system/app/디렉토리의 별개 파일로 .odex
당신과 나 (비 시스템 애플 리케이션)을 개발하는 모든 애플 리케이션을위한. 그냥 게임 플레이 스토어의.. 그 안에서. 덱스 .apk 포함.
편집 : 나는 그다지 일에 관련이 없다는 것을 안다. 또는 질문.하지만 sys와 non-sys 응용 프로그램을위한 .dex 파일 배치의 차이점을 언급하고 싶었습니다. :)
희망이있었습니다. :)
- 1. 다음 코드에서 어떤 현상이 발생합니까?
- 2. 입력 할 때 어떤 현상이 발생합니까
- 3. 이 ExecuteDataset 메서드에서는 어떤 현상이 발생합니까?
- 4. 이 JavaScript 삼항 연산자에서 어떤 현상이 발생합니까?
- 5. IE에서 내 사이트에 어떤 현상이 발생합니까?
- 6. 이 세 번째 예제에서는 어떤 현상이 발생합니까?
- 7. Android에서 한 번에 패키지의 모든 .Java 파일을 컴파일 하시겠습니까?
- 8. PostgreSequence와 함께 Java Short에 어떤 현상이 있습니까?
- 9. R 터미널에서 Control-C를 누르면 어떤 현상이 발생합니까?
- 10. 컴파일 타임에 어떤 종류의 java.lang.Error가 발생합니까?
- 11. 브라우저 URL을 입력 할 때 어떤 현상이 발생합니까?
- 12. 고 대비 모드에서 실제로 CSS에 어떤 현상이 발생합니까?
- 13. 0으로 시작하는 int에 어떤 현상이 발생합니까? ex 00101
- 14. SFTP를 통한 연결이 중단되면 파일에는 어떤 현상이 발생합니까?
- 15. iTunes가 이미지를 iPod touch에 동기화 할 때 어떤 현상이 발생합니까?
- 16. Win32 IO Completion Port 및 동기식 IO에 어떤 현상이 발생합니까?
- 17. 다른 JRE에서 Java 클래스 파일을 실행하면 발생합니까?
- 18. ExtJs 3에서 Afterrender 이벤트가 발생한 후 구성 요소에는 어떤 현상이 발생합니까?
- 19. PHP 4.0에서 PHP 5.3.3으로 전환 한 후 어떤 문제가 발생합니까?
- 20. 외부 js 파일을 제거한 후 어떤 일이 발생합니까?
- 21. Mongoid.config.master.connection.host에 어떤 현상이 발생 했습니까?
- 22. Java (특히 언어)에 어떤 현상이 발생 했습니까?
- 23. C# - 폼을로드 한 직후에 어떤 이벤트가 발생합니까?
- 24. 스레드 풀에는 어떤 현상이 있습니까?
- 25. myclass에는 어떤 현상이 발생 했습니까?
- 26. 오이 테스트에서 왜 이런 현상이 발생합니까?
- 27. CSS 속성으로 인해 사이트가 멈추는 현상이 발생합니까?
- 28. Android에서 실행할 Java 하드웨어 API 컴파일.
- 29. 이벤트 처리 후 어떤 페이지 기능이 발생합니까?
- 30. MDE 파일로 컴파일 한 후 MS Access에서보고
주석은 컴파일러에서 무시되며 결과 바이트 코드 또는 기계 코드에 포함되지 않습니다 –