Debugowanie układu przy użyciu Inspektora układu

Inspektor układu w Android Studio umożliwia debugowanie układu aplikacji przez pokazanie hierarchii widoków, w której możesz sprawdzić właściwości każdego z nich. Dzięki Inspektorowi układu możesz porównywać układ swojej aplikacji z testami projektu, wyświetlać ją w powiększeniu lub w widoku 3D oraz sprawdzać szczegóły jej układu w czasie działania. Jest to szczególnie przydatne, gdy układ jest generowany w czasie działania, a nie w całości w formacie XML, a układ działa w nieoczekiwany sposób.

Rysunek 1. Wbudowany inspektor układu na potrzeby aplikacji Jetchat.

Rozpocznij

Aby uruchomić Inspektora układów, uruchom aplikację, przejdź do okna Uruchomione urządzenia i kliknij Przełącz inspektora układu Przycisk przełączania umieszczonego inspektora układu. Jeśli przełączasz się między wieloma urządzeniami lub projektami, inspektor układu automatycznie połączy się z możliwymi do debugowania procesami, które działają na pierwszym planie połączonego urządzenia.

Oto jak wykonać typowe zadania:

  • Aby wyświetlić hierarchię i właściwości każdego widoku danych, użyj okien narzędzi Drzewo komponentów i Atrybuty. Inspektor układu może wymagać ponownego uruchomienia aktywności w celu uzyskania dostępu do atrybutów. Więcej informacji znajdziesz w artykule Unikanie ponownego uruchamiania aktywności.
  • Aby wybrać widoki danych, klikając je jednym kliknięciem, lub przejść do kodu, klikając je dwukrotnie, włącz Przełącz szczegółową inspekcję Przycisk przełączania szczegółowej inspekcji.
  • Aby korzystać z aplikacji, wyłącz opcję Toggle Deep Invest (Przełącz szczegółową inspekcję) Przycisk przełączania szczegółowej inspekcji.
  • Aby sprawdzić urządzenia fizyczne, włącz powielanie lustrzane urządzeń.
  • Aby włączyć aktualizacje na żywo podczas aktualizowania UI aplikacji, sprawdź, czy edycja na żywo jest włączona.
  • Aby użyć trybu 3D, zrób zrzut w inspektorze układu Zrzut inspektora układu, a następnie kliknij Tryb 3D Przycisk 3D.

Wybieranie i izolowanie widoku

Widok zazwyczaj rysuje coś, co użytkownik może zobaczyć i zareagować. Drzewo komponentów pokazuje hierarchię aplikacji w czasie rzeczywistym dla każdego komponentu widoku, co ułatwia debugowanie układu aplikacji, ponieważ umożliwia wizualizację elementów w aplikacji i powiązanych z nimi wartości.

Aby wybrać widok, kliknij go w drzewie komponentów lub w widoku układu. Wszystkie atrybuty układu dla wybranego widoku pojawią się w panelu Atrybuty.

Jeśli układ obejmuje pokrywające się widoki, możesz zobaczyć wszystkie widoki z danego regionu, gdy klikniesz prawym przyciskiem myszy w trybie Szczegółowej analizy Przycisk przełączania szczegółowej inspekcji. Aby wybrać widok, który nie znajduje się z przodu, kliknij go w drzewie komponentów lub obróć układ.

Aby pracować ze złożonymi układami, możesz wyizolować poszczególne widoki, tak aby tylko część układu była widoczna w drzewie komponentów i renderowana na widoku układu. Aby wyodrębnić widok, zrób zrzut ekranu Zrzut inspektora układu, kliknij go prawym przyciskiem myszy w drzewie komponentów i wybierz Pokaż tylko poddrzewo lub Pokaż tylko elementy nadrzędne. Aby powrócić do pełnego widoku, kliknij go prawym przyciskiem myszy i wybierz Pokaż wszystko. Przed wyizolowaniem widoku musisz zrobić zrzut ekranu.

Ukryj obramowanie układu i wyświetl etykiety

Aby ukryć ramkę ograniczającą lub wyświetlić etykiety elementu układu, kliknij Opcje widoku Przycisk Wyświetl opcje u góry wyświetlania układu i przełącz Pokaż obramowanie lub Pokaż etykietę widoku.

Rób zrzuty hierarchii układu

Inspektor układów umożliwia zapisywanie zrzutów hierarchii układu uruchomionej aplikacji, dzięki czemu można je udostępniać innym lub odwołać się do nich później.

Zrzuty zawierają dane, które zwykle można zobaczyć w Inspektorze układu. Zawierają one szczegółowe renderowanie 3D układu, drzewo komponentów widoku, tworzenia lub układu hybrydowego oraz szczegółowe atrybuty każdego komponentu UI. Aby zapisać zrzut, kliknij Eksportuj/importuj zrzuty Eksportuj/importuj zrzuty, a następnie Eksportuj zrzut.

Wczytaj wcześniej zapisany zrzut inspektora układu, klikając Importuj zrzut.

Tryb 3D

Wyświetlanie układu obejmuje zaawansowaną wizualizację 3D hierarchii widoków aplikacji w czasie działania. Aby użyć tej funkcji, zrób zrzut Eksportuj/importuj zrzuty, kliknij przycisk Tryb 3DPrzycisk 3D w oknie Inspektora zrzutów i obróć widok, przeciągając go myszą.

Inspektor układu: widok 3D
Rysunek 2. Obrócony widok 3D układu.
Inspektor układu: widok odstępów warstw
Rysunek 3. Aby rozwinąć lub zwinąć warstwy szablonu, użyj suwaka Odstępy między warstwami.

Porównanie układu aplikacji z nakładką z obrazem referencyjnym

Aby porównać układ aplikacji z obrazem referencyjnym, np. podglądem interfejsu, możesz wczytać nakładkę obrazu bitmapy w Inspektorze układu.

  • Aby wczytać nakładkę, wybierz opcję Wczytaj nakładkę z paska narzędzi Inspektor układu. Nakładka jest skalowana, aby pasowała do układu.
  • Aby dostosować przezroczystość nakładki, użyj suwaka Nakładka alfa.
  • Aby usunąć nakładkę, kliknij Wyczyść nakładkę.

Sprawdź tworzenie wiadomości

Inspektor układu umożliwia sprawdzenie układu tworzenia wiadomości w działającej aplikacji w emulatorze lub na urządzeniu fizycznym. Możesz użyć Inspektora układu, aby sprawdzić, jak często element kompozycyjny jest ponownie tworzony lub pomijany. Pomoże Ci to zidentyfikować problemy z aplikacją. Na przykład niektóre błędy w kodzie mogą zmusić interfejs do zbyt częstego tworzenia nowych elementów, co może obniżyć wydajność. Niektóre błędy w kodzie mogą uniemożliwiać ponowne utworzenie nowego interfejsu, a tym samym zapobiegać wyświetlaniu się zmian w interfejsie na ekranie.

Więcej informacji o Inspektorze układu na potrzeby tworzenia

Unikanie ponownego uruchamiania aktywności

Do prawidłowego działania Inspektor układu wymaga jednego z poniższych ustawień globalnych. Jeśli nie określisz ustawienia globalnego, Inspektor układu automatycznie je ustawi.

  1. adb shell settings put global debug_view_attributes_application_package <processname>

    Ta opcja generuje dodatkowe informacje na potrzeby inspekcji określonego procesu.

  2. adb shell settings put global debug_view_attributes 1

    Ta opcja generuje dodatkowe informacje na potrzeby kontroli dotyczące wszystkich procesów na urządzeniu.

Zmiana ustawienia globalnego może spowodować ponowne uruchomienie aktywności. Aby uniknąć ponownego uruchomienia aktywności, możesz zmienić ustawienia w Android Studio lub Opcje programisty w ustawieniach urządzenia.

Aby włączyć automatyczne odświeżanie w Android Studio, otwórz Konfiguracja uruchamiania/debugowania, wybierając w menu Uruchom > Edytuj konfiguracje. Następnie otwórz kartę Różne i w sekcji Opcje Inspektora układu zaznacz pole Połącz z Inspektorem układu bez ponownego uruchamiania aktywności.

Opcja ponownego uruchamiania aktywności w konfiguracjach uruchamiania
Rysunek 4. Włącz automatyczne odświeżanie w oknie Uruchom/debuguj konfiguracje.

Możesz też włączyć na urządzeniu opcje dla programistów, a potem włączyć Włącz sprawdzanie atrybutów wyświetlania w ustawieniach programisty urządzenia.

Niezależny inspektor układu

Aby uzyskać optymalną wydajność, zalecamy używanie Inspektora układu w domyślnym trybie osadzonym. Jeśli chcesz cofnąć osadzanie Inspektora układu, kliknij Plik (Android Studio w systemie macOS)> Ustawienia > Narzędzia > Inspektor układu i odznacz pole wyboru Włącz osadzony inspektor układu.

W trybie samodzielnym możesz włączyć aktualizacje na żywo, klikając opcję Aktualizacje na żywo na pasku narzędzi Inspektora układu.