2012-05-16 6 views

Odpowiedz

10

Komentarze w plikach Java są usuwane lub ignorowane, gdy są wkompilowane w pliki klas. Pliki klas nie są przeznaczone do czytania przez ludzi - są zoptymalizowane pod kątem wydajnego działania na maszynie wirtualnej. Jeśli komentarze miałyby pozostać, spowodowałyby po prostu, że pliki klas byłyby większe niż wymagane i bez żadnych dodatkowych korzyści (tj. Kompilator i maszyny wirtualne nie rozumieją komentarzy, więc dlaczego je uwzględniać)

Co do Pliki XML, komentarze są zwykle zachowywane. Podczas gdy skompilowany plik klasy ma tylko jeden cel (uruchamianie na maszynie wirtualnej), plik XML może służyć wielu celom. Na przykład możesz załadować plik XML do swojej aplikacji i nim manipulować. W zależności od wykorzystania pliku XML w aplikacji może być wymagane przechowywanie tam komentarzy - w rzeczywistości aplikacja może szukać komentarzy. Ponieważ pliki XML mogą mieć szeroki zakres zastosowań, komentarze nie są usuwane z plików XML na wypadek, gdyby były wymagane do innych celów.

+0

Dzięki! Rozumiem. :) Być może muszę usunąć niektóre z moich komentarzy na temat XML przed eksportowaniem mojej aplikacji ze względów bezpieczeństwa. – Arci

+2

Zdecydowanie zaleca się usunięcie komentarzy z XML, jeśli obawiasz się o konsekwencje dla bezpieczeństwa. Jeśli masz dużo komentarzy, spowoduje to również, że aplikacja będzie działać wolniej, ponieważ musi pomijać wszystkie komentarze podczas odczytu pliku XML. Warto pamiętać, że pliki XML są celowo zaprojektowane tak, aby były czytelne dla człowieka :-) – wattostudios

+0

Dzięki! Zamierzam już usunąć moje komentarze. – Arci

5

Komentarze nie są obecne w kodu bajtowego/.class wersji file..comments są ignorowane przez kompilator w czasie kompilacji ..

Kompilator działa w sposób, który konwertuje wszystkie Wysokie Poziom Język kodu do zrozumiałego kodu maszyny Kod ... wszystko od razu .. nie linia po linii jak interpreter .. w przypadku Androida .. kompilator konwertuje pliki źródłowe .java do swoich plików kodu bajtowego/.class ... a następnie do plików .dex (Dalvik Executables). Wszystkie aplikacje w systemie Android działają na wirtualnej maszynie zwanej Dalvik Virtual Machine, która potrzebuje plików .dex.

Spróbuj otworzyć plik apk podobny do zip .. usin g dowolny archiwizator .. zobaczyłbyś tam plik classes.dex ..

Jeśli chodzi o pliki xml, są one używane przez aplikację tylko wtedy, gdy wyświetlasz coś na ekranie (np. renderowane) ... więc w momencie wyświetlania aktywności ... odpowiedni plik xml służy do konstruowania interfejsu użytkownika. Proces ten nazywa się pompowaniem!

EDYCJA: [Ale 1 punkt teraz pamiętam w związku z tym, że .. aplikacje systemowe, które są obecne w telefonie z systemem Android .. takie jak wszystkie Google dostarczone aplikacje (Gmail, mapy itp.) .. kontakty, telefon. apk etc..wszystkie są to apki systemowe ... obecne w katalogu/system/app/.. mogą lub nie mogą zawierać plików .dex w nich ..

jeśli zawierają .dex wewnątrz plików apk (tak jak każda normalna aplikacja, którą tworzymy). ROM jest nazywany odszyfrowanym ROM (oprogramowanie układowe systemu operacyjnego Android) .. ale z kolei powoduje wolniejsze uruchamianie, gdy pamięć ROM jest instalowana po raz pierwszy z powodu kopiowania wszystkie pliki .dex z systemowych plików .apk do pamięci podręcznej dalvik., ponieważ wszystkie pliki .dex apków systemu są potrzebne przy uruchamianiu systemu/rozruchu ..

Ale jeśli ROM jest odekscytowany ... wszystkie pliki .dex systemu .apk nie są obecne w pliku .apk, ale jako osobny plik w katalogu/system/app /. Z rozszerzeniem .odex

Dla wszystkich aplikacji, które ty i ja opracowujesz (aplikacje niesystemowe) ... tylko aplikacje w sklepie gier .. to zawierają .dex wewnątrz pliku .apk]

EDYCJA: wiem, że nie jest to bardzo związane z pracą lub pytanie ... ale chciałem tylko wspomnieć o różnicy umieszczania plików .dex dla aplikacji sys i non-sys! :)

Mam nadzieję, że pomogło! :)

+0

Dzięki, Riash! A co z komentarzami do XML? Czy są one również usuwane podczas kompilacji? – Arci

+1

Komentarze w plikach xml są zwykle przechowywane! – ritesht93

Powiązane problemy