Ta lista kontrolna określa zestaw podstawowych kryteriów jakości i powiązanych z nimi testów, które pomogą Ci ocenić jakości aplikacji. Niektóre kryteria łatwo przeoczyć, a dzięki testom łatwiej je zapamiętać , aby uwzględnić je w swoich planach testów.
Lista kontrolna wskazuje minimalną jakość, jaką powinny spełniać wszystkie aplikacje. Testy najprawdopodobniej wykraczają daleko poza to, co tu opisano.
Każdy element na liście kontrolnej jakości ma unikalny identyfikator, przydatne do komunikacji z zespołem.
Wrażenia wizualne
Aplikacja powinna mieć standardowy wygląd interfejsu dla Androida i wzorców interakcji w razie potrzeby, aby zapewnić spójność i intuicyjność użytkowników.
Obszar | ID | Testy | Opis |
---|---|---|---|
Nawigacja | VX-N1 | CR-3, | Aplikacja obsługuje standardową nawigację przy użyciu przycisku Wstecz i nie używa żadnego niestandardowego przycisku „Wstecz” na ekranie. prompty. |
VX-N2 | CR-3, | Aplikacja obsługuje nawigację przy użyciu gestów, które umożliwiają powrót do ekranu głównego. | |
VX-N3 | CR-1 CR-3 CR-5 |
Aplikacja prawidłowo zachowuje i przywraca stan użytkownika lub aplikacji. Aplikacja zachowuje stan użytkownika lub aplikacji po wyjściu z pierwszego planu i zapobiega przypadkowej utracie danych z powodu przejścia wstecz oraz innych zmian stanu. Po powrocie na pierwszy plan aplikacja powinna przywrócić zachowany stan oraz wszystkie ważne, oczekujące transakcje stanowe. Przykłady: zmiany w polach do edycji, postępy w grze, menu, filmy i inne sekcje aplikacji lub gry.
|
|
Powiadomienia | VX-S1 | CR-9 | Powiadomienia są zgodne z wytycznymi Material Design. W szczególności:
|
VX-S2 | CR-9 | W przypadku aplikacji do obsługi wiadomości lub mediów społecznościowych:
|
|
Interfejs użytkownika i grafika | VX-U1, | CR-5, | Aplikacja obsługuje orientację poziomą i pionową (jeśli to możliwe).
Orientacje ujawniają zasadniczo te same funkcje i działania oraz zachowują ich spójność. Dozwolone są niewielkie zmiany w treści lub liczbie wyświetleń. |
VX-U2, | CR-5, | Aplikacja wykorzystuje cały ekran w obu orientacjach i nie uwzględnia czarnych pasów, aby uwzględniać zmiany orientacji.
Dopuszczalne są drobne czarne paski, które kompensują niewielkie różnice w geometrii ekranu. |
|
VX-U3 | CR-5, | Aplikacja prawidłowo obsługuje szybkie przejścia między orientacjami wyświetlacza, nie powodując problemów z renderowaniem ani utraty stanu. | |
Jakość obrazu | VX-V1 | CR-all | Aplikacja wyświetla grafikę, tekst, obrazy i inne elementy interfejsu bez widocznych zniekształceń, rozmycia lub pikseli.
|
VX-V2 | CR-all | Aplikacja wyświetla tekst i bloki tekstu w sposób odpowiedni do każdego z języków obsługiwanych w aplikacji.
|
|
VX-V3 | CR-all | Treści w aplikacji i wszystkie treści z internetu, do których się ona odwołuje, obsługują ciemny motyw. |
Funkcjonalność
Aplikacja powinna wdrożyć oczekiwane działanie.
Obszar | ID | Testy | Opis |
---|---|---|---|
Audio | FN-A1 | CR-1 CR-8 |
Dźwięk jest wznawiany, gdy aplikacja wróci na pierwszy plan lub że odtwarzanie jest wstrzymane. |
FN-A2 | CR-1 CR-2 CR-8 |
Jeśli odtwarzanie dźwięku jest główną funkcją, aplikacja powinna obsługiwać odtwarzanie w tle. | |
FN-A3 | CR-0, | Gdy użytkownik rozpocznie odtwarzanie dźwięku, aplikacja powinna w ciągu jednej sekundy wykonać jedną z tych czynności:
|
|
FN-A4 | CR-0, | Aplikacja powinna żądać fokusu audio, gdy rozpocznie się odtwarzanie dźwięku, i powstrzymać odtwarzanie dźwięku po zatrzymaniu. | |
FN-A5 | CR-0, | Aplikacja powinna obsługować żądania innych aplikacji dotyczące aktywności audio. Na przykład aplikacja może zmniejszyć głośność odtwarzania, gdy inna aplikacja odtwarza mowę. | |
Multimedia | FN-M1 | CR-0 CR-6 CR-8 |
Jeśli aplikacja odtwarza dźwięk w tle, musi utworzyć powiadomienie o stylu MediaStyle. |
FN-M2 | CR-0, | Jeśli aplikacja odtwarza filmy, powinna obsługiwać odtwarzanie obraz w obrazie. | |
FN-M3 | CR-0, | Jeśli aplikacja koduje wideo, powinna to zrobić przy użyciu standardu kompresji HEVC. | |
Udostępnianie | FN-S1 | CR-0, | Do udostępniania treści aplikacja powinna używać arkusza udostępniania na Androida. Może zasugerować cele, które są niedostępne dla rozwiązań niestandardowych. |
Usługa w tle | FN-B1, | CR-6, | Aplikacja w miarę możliwości nie pozwala na uruchamianie usług w tle. Aby zapewnić płynne działanie urządzenia użytkownika, system stosuje różne ograniczenia dotyczące usług w tle. To nie jest uważane za prawidłowe wykorzystanie usług w tle:
Dowiedz się, jak wybrać odpowiednie rozwiązanie do swojej pracy. |
FN-B2, | CR-10, | Aplikacja prawidłowo obsługuje funkcje zarządzania energią wprowadzone w Androidzie 6.0 (uśpienie i tryb czuwania aplikacji). Jeśli działanie głównej funkcji jest zakłócone przez zarządzanie energią, tylko kwalifikujące się aplikacje mogą poprosić o zwolnienie z połączenia. Zobacz Pomoc do innych przypadków użycia w funkcjach Uśpienie i Czuwanie aplikacji. |
Wydajność i stabilność
Aplikacja powinna zapewniać wydajność, stabilność, zgodność czas reakcji użytkownika.
Obszar | ID | Testy | Opis |
---|---|---|---|
Stabilność | PS-S1, | CR-all SD-1 |
aplikacja nie ulega awariom lub zablokuj wątek UI powodujący błąd ANR (Android Not „Odpowiadanie”). Wykorzystaj Google Raport przed opublikowaniem w Google Play, który pozwala zidentyfikować potencjalne problemy ze stabilnością. Po wdrożeniu zapłać znajdziesz na stronie Android Vitals w Konsola Play. |
Wydajność | PS-P1, | CR-all SD-1 |
Aplikacja wczytuje się szybko lub wyświetla użytkownikowi informacje na ekranie (wskaźnik postępu lub podobny), jeśli wczytuje się dłużej niż 2 sekundy. |
PS-P2, | CR-all SD-1 |
Aplikacje powinny renderować klatki co 16 ms, aby uzyskać 60 klatek na sekundę. Podczas testowania deweloperzy mogą użyć opcji Renderowanie interfejsu użytkownika profilu. W razie problemów możesz skorzystać z narzędzi, które pomogą Ci zdiagnozować powolne renderowanie. | |
PS-P3, | PM-1 | Po włączeniu StrictMode (patrz StrictMode Testing poniżej) podczas testowania aplikacji nie są widoczne żadne błyski na czerwono (ostrzeżenia dotyczące wydajności z StrictMode). Wszystkie czerwone błyski oznaczają błędy w działaniu pamięci, dostępu do sieci lub wycieków pamięci. | |
Pakiet SDK | PS-T1, | CR-0, | Aplikacja działa na najnowszej publicznej wersji platformy Androida, bez awarii ani poważnego wpływu na działanie głównej funkcji. |
PS-T2, | SP-1, | Aplikacja jest kierowana na najnowszy pakiet Android SDK, ustawiając wartość targetSdk . |
|
PS-T3, | SP-1, | Aplikacja została utworzona z wykorzystaniem najnowszego pakietu SDK przez ustawienie wartości compileSdk . |
|
PS-T4, | SP-2 SP-3, |
Wszystkie używane pakiety SDK innych firm są aktualne. Wszelkie ulepszenia tych pakietów SDK, takie jak stabilność, zgodność lub bezpieczeństwo, powinny być udostępniane użytkownikom we właściwym czasie. Deweloper jest odpowiedzialny za całą bazę kodu aplikacji, w tym za wszelkie używane pakiety SDK innych firm. |
|
PS-T5, | CR-0, | Aplikacja nie korzysta z interfejsów innych niż SDK. | |
Bateria | PS-B1, | BA-1 | Aplikacja prawidłowo obsługuje funkcje zarządzania energią wprowadzone w Androidzie 6.0 (uśpienie i tryb czuwania aplikacji). Jeśli działanie głównej funkcji jest zakłócone przez zarządzanie energią, tylko kwalifikujące się aplikacje mogą poprosić o zwolnienie z połączenia. W trakcie programowania deweloperzy mogą przetestować działanie aplikacji w trybie gotowości i uśpienia za pomocą tych poleceń ADB.
Jeśli chodzi o wykorzystanie baterii, deweloperzy mogą korzystać z narzędzia do profilowania energii Android Studio lub narzędzia Battery Historyn, w połączeniu z planowanymi pracą w tle, aby zdiagnozować nieoczekiwane wykorzystanie baterii. |
Prywatność i bezpieczeństwo
Aplikacja powinna bezpiecznie przetwarzać dane użytkownika i dane osobowe, z odpowiednim poziomem uprawnień.
Oprócz tej listy kontrolnej aplikacje opublikowane w Google Play Sklep musi być też zgodny z danymi użytkownika zasady ochrony prywatności użytkowników prywatności.
Obszar | ID | Testy | Opis |
---|---|---|---|
Uprawnienia | SC-P1 | SC-4 | Aplikacja wymaga jedynie absolutnej minimalnej liczby uprawnień, która jest jej niezbędna do obsługi danego przypadku użycia. W przypadku niektórych uprawnień, na przykład lokalizacji, używaj w miarę możliwości przybliżonej lokalizacji zamiast dokładnej. |
SC-P2 |
Aplikacja powinna prosić wyłącznie o dostęp do danych wrażliwych (takich jak SMS, rejestr połączeń lub Lokalizacja) usług płatnych (np. Telefon czy SMS-y), jeśli są bezpośrednio związane z usługami podstawowymi przypadków użycia aplikacji. O konsekwencjach związanych z tymi uprawnieniami należy wyraźnie poinformować użytkownika. W zależności od sposobu korzystania z uprawnień może być sposób alternatywny do realizowania zastosowań aplikacji bez dostępu do informacji poufnych. Na przykład zamiast lub prosi o uprawnienia związane z kontaktami użytkownika, lepiej poprosić o dostęp za pomocą intencji niejawnych. |
||
SC–P3 | CR-0, | Aplikacja prosi o uprawnienia w czasie działania w kontekście, gdy prosi o funkcję, a nie od razu podczas jej uruchamiania. | |
SC–P4 | CR-0, | Interfejs użytkownika aplikacji powinien jasno informować, dlaczego aplikacja wymaga określonych uprawnień. Jeśli nie jest możliwe, należy postępować zgodnie z zalecanym procesem wyjaśnić, dlaczego funkcja Twojej aplikacji potrzebuje uprawnień. Aplikacja powinna stopniowo pogorszyć się, gdy: użytkownicy odmawiają ich przyznania lub je anulują. Aplikacja nie powinna całkowicie blokować użytkownikowi dostępu do aplikacji. |
|
Dane i Pliki | SC-DF1 | SC-1 | Wszystkie dane wrażliwe są przechowywane w pamięci wewnętrznej aplikacji. |
SC-DF2 | SC-10 | Żadne dane osobowe ani poufne użytkownika nie są rejestrowane w dzienniku systemowym ani dzienniku dotyczącym aplikacji. | |
SC-DF3 | Aplikacja nie powinna używać w celu identyfikacji żadnych niemożliwych do zresetowania identyfikatorów sprzętu, takich jak IMEI. | ||
Tożsamość | SC-ID1 | CR-0, | podawać wskazówki dotyczące autouzupełniania danych logowania do konta i innych informacji poufnych, takich jak dane karty kredytowej, adres pocztowy i numer telefonu; |
SC-ID2, | CR-0, | Zintegruj jedno dotknięcie na urządzeniach z Androidem, aby umożliwić bezproblemowe logowanie. | |
SC-ID3, | CR-0, | Integrowanie uwierzytelniania biometrycznego w celu ochrony transakcji finansowych i informacji poufnych, takich jak ważne dokumenty użytkownika. | |
Komponenty aplikacji | SC-AC1 | SC-5 | Eksportowane są tylko te komponenty aplikacji, które udostępniają dane innym aplikacjom, oraz te, które powinny być wywoływane przez inne aplikacje.
Dotyczą one aktywności, usług, odbiorców transmisji,a zwłaszcza dostawców treści.
Zawsze ustawiaj jawnie atrybut |
SC-AC2 | CR-0 SC-4 |
Wszystkie intencje i transmisje są zgodne ze sprawdzonymi metodami:
|
|
SC-AC3 | SC-3 | Wszyscy dostawcy treści, którzy udostępniają treści między Twoimi aplikacjami, korzystają z uprawnień niestandardowych na poziomie android:protectionLevel="signature" . Dotyczą one aktywności, usług, odbiorców transmisji, a zwłaszcza dostawców treści.
Większość aplikacji nie powinna polegać na dostępie do listy zainstalowanych pakietów. Dostęp był ograniczony w Androidzie 11.
|
|
Sieć | SC-N1 | SC-9 | Cały ruch w sieci jest wysyłany przez SSL. |
SC-N2 | SC-6 | Aplikacja deklaruje konfigurację zabezpieczeń sieci. | |
SC-N3 | Jeśli aplikacja korzysta z Usług Google Play, dostawca zabezpieczeń jest inicjowany podczas uruchamiania aplikacji. | ||
Biblioteki | SC-U1 | SP-2, | Wszystkie biblioteki, pakiety SDK i zależności są aktualne. |
SC-U2 | Wersja produkcyjna aplikacji nie zawiera bibliotek debugowania. Może to spowodować problemy z wydajnością oraz bezpieczeństwem. | ||
Komponenty WebView | SC-W1 | SC-6 | Nie używaj funkcji setAllowUniversalAccessFromFileURLs() do uzyskiwania dostępu do treści lokalnych. Zamiast niego użyj klasy WebViewAssetLoader. |
SC-W2 | SC-7 | Komponenty WebView nie powinny używać metody addJavaScriptInterface() z niezaufanymi treściami.
W Androidzie 6.0 i nowszych używaj kanałów wiadomości HTML. |
|
Realizacja | SC-E1 | Aplikacja nie dynamicznie wczytuje kodu spoza pakietu APK. Deweloperzy powinni używać pakietów Android App Bundle, które obejmują Play Feature Delivery i Play Asset Delivery.
Od sierpnia 2021 roku używanie pakietów Android App Bundle będzie obowiązkowe w przypadku wszystkich nowych aplikacji w Sklepie Google Play. |
|
Kryptografia | SC-C1 | Aplikacja wykorzystuje skuteczne, udostępniane przez platformę algorytmy kryptograficzne i generator liczb losowych. Aplikacja nie implementuje też niestandardowych algorytmów. |
Google Play
Upewnij się, że Twoje aplikacje mogą być publikowane w Google Play.
Obszar | ID | Testy | Opis |
---|---|---|---|
Zasady | GP-P1 | GP-all | Aplikacja przestrzega też warunków Polityki treści dla deweloperów w Google Play, nie oferuje nieodpowiednich treści, nie korzysta z własności intelektualnej ani marek innych osób itd. |
GP-P2 | GP-1. | Zgodnie z wytycznymi dotyczącymi oceny treści poziom dojrzałości aplikacji jest ustawiony prawidłowo. | |
Strona z informacjami o aplikacji | GP-D1 | GP-1 GP-2 |
Grafika aplikacji jest zgodna ze wskazówkami tym artykule w Centrum pomocy. Sprawdź, czy:
|
GP-D2 | GP-1. | Zrzuty ekranu i filmy z aplikacji nie pokazują ani nie nawiązują do urządzeń z systemem innym niż Android. | |
GP-D3 | GP-1. | Zrzuty ekranu lub filmy z aplikacji nie przedstawiają jej zawartości ani sposobu korzystania z niej w sposób mylący. | |
Pomoc dla użytkowników | GP-X1, | GP-1. | Typowe błędy zgłaszane przez użytkowników na karcie Opinie na stronie Google Play są usuwane, jeśli można je odtworzyć i występują na wielu różnych urządzeniach. Jeśli błąd występuje tylko na kilku urządzeniach, warto go naprawić, jeśli są one szczególnie popularne lub nowe. |
Konfigurowanie środowiska testowego
Do skonfigurowania środowiska testowego dla tej listy kontrolnej zalecamy następujące działania:
- Skupienie się na testowaniu emulatora – Emulator Androida to świetny sposób na przetestowanie aplikacji w różnych wersjach Androida i rozdzielczości ekranu. Musisz skonfigurować emulowane urządzenia (AVD), aby reprezentowały najpopularniejsze kombinacje sprzętu i oprogramowania w grupie docelowych użytkowników.
- Urządzenia – w środowisku testowym powinno znajdować się niewielka liczba rzeczywistych urządzeń reprezentujących główne formaty oraz ich kombinacje sprzętowe i oprogramowania, które są obecnie dostępne dla klientów. Nie musisz przeprowadzać testów na każdym urządzeniu dostępnym na rynku. Skup się na niewielkiej liczbie reprezentatywnych urządzeń nawet na 1 lub 2 urządzeniach w każdym formacie.
- Laboratorium testowania urządzeń – możesz też korzystać z usług innych firm, np. Laboratorium Firebase, aby testować swoje aplikacje na większej liczbie różnych urządzeń.
- Testowanie z najnowszą wersją Androida – oprócz testowania wersji Androida reprezentatywnych wśród docelowych użytkowników zawsze korzystaj z najnowszej wersji Androida (obecnie 11). Dzięki temu najnowsze zmiany w działaniu nie wpłyną negatywnie na wrażenia użytkowników.
Bardziej kompleksowe wskazówki dotyczące testowania (w tym testowania jednostkowego, integracji i interfejsu) znajdziesz w podstawach testowania Androida.
Procedury testowe
Te procedury testowe pomagają wykryć różne typy problemów z jakością w do aplikacji. Możesz łączyć testy lub integrować ich grupy w i własne plany testów. W powyższych sekcjach znajdziesz pliki referencyjne, które łączą w ramach tych procedur testowych.
Typ | Test | Opis |
---|---|---|
Pakiet podstawowy | CR-0 | Przejdź do wszystkich części aplikacji – wszystkich ekranów, okien, ustawień i wszystkich schematów użytkownika.
|
CR-1 | Na każdym ekranie aplikacji naciśnij klawisz ekranu głównego urządzenia lub przesuń palcem w górę w ramach nawigacji przy użyciu gestów, a następnie ponownie uruchom aplikację z ekranu Wszystkie aplikacje. | |
CR-2 | Z każdego ekranu aplikacji przełącz się na inną działającą aplikację, a potem wróć do testowanej aplikacji, korzystając z przełącznika aplikacji Ostatnie. | |
CR-3 | Na każdym ekranie (i w każdym oknie) naciśnij przycisk Wstecz lub użyj gestu przesuwania wstecz. | |
CR-5 | Na każdym ekranie aplikacji zmień orientację urządzenia co najmniej 3 razy na poziomą lub pionową. | |
CR-6 | Przełącz się na inną aplikację, aby wysłać aplikację testową w tle. Przejdź do Ustawień i sprawdź, czy aplikacja testowa ma jakiekolwiek usługi działające w tle. Na Androidzie 4.0 lub nowszym przejdź do ekranu Aplikacje i znajdź aplikację w sekcji „Uruchomione”. . | |
CR-7 | Naciśnij przycisk zasilania, by uśpić urządzenie, a potem jeszcze raz naciśnij przycisk zasilania, by wybudzić ekran. | |
CR-8 | Ustaw blokadę ekranu na urządzeniu. Naciśnij przycisk zasilania, by uśpić urządzenie (co spowoduje jego zablokowanie). Następnie jeszcze raz naciśnij przycisk zasilania, aby wybudzić ekran i odblokować urządzenie. | |
CR-9 | W panelu powiadomień możesz włączać i obserwować wszystkie typy powiadomień, które może wyświetlać aplikacja. W razie potrzeby rozwiń powiadomienia (Android 4.1 lub nowszy) i kliknij wszystkie dostępne działania. | |
CR-10 | Przejrzyj pomoc dotyczącą innych przypadków użycia funkcji Uśpienie i Czuwanie aplikacji. | |
Zainstaluj na karcie SD | SD-1 | Powtórz pakiet podstawowy, instalując aplikację na karcie SD urządzenia (jeśli aplikacja obsługuje tę metodę instalacji).
Aby przenieść aplikację na kartę SD, możesz użyć opcji Ustawienia > Informacje o aplikacji > Przenieś na kartę SD. |
Wydajność i stabilność | SP-1, | Sprawdź plik manifestu Androida i konfigurację kompilacji, aby upewnić się, że aplikacja została utworzona przy użyciu najnowszego dostępnego pakietu SDK (targetSdk i compileSdk ).
|
SP-2, | Sprawdź plik build.gradle pod kątem nieaktualnych zależności. |
|
SP-3, | Możesz wykrywać użycie interfejsu innego niż SDK za pomocą narzędzia Android Studio lint. Istnieją też inne alternatywne metody testowania. | |
Monitorowanie wydajności | PM-1 | Powtórz Core Suite z włączonym profilowaniem StrictMode.
Zwróć szczególną uwagę na funkcję czyszczenia pamięci i jej wpływ na wygodę użytkowników. |
Bateria | BA-1 | Powtórz podstawowy pakiet w cyklach Uśpienie i Czuwanie aplikacji.
Zwracaj szczególną uwagę na alarmy, minutniki, powiadomienia, synchronizacje itp. Wymagania i wytyczne znajdziesz w sekcji Testowanie z użyciem funkcji uśpienia i czuwania aplikacji. |
Bezpieczeństwo | SC-1 | Przejrzyj wszystkie dane zapisane w pamięci zewnętrznej. |
SC-2 | Sprawdź, jak są przetwarzane i przetwarzane dane wczytywane z pamięci zewnętrznej. | |
SC-3 | Sprawdź wszystkich dostawców treści zdefiniowanych w pliku manifestu Androida. Upewnij się, że każdy dostawca ma odpowiednie protectionLevel .
|
|
SC-4 | Przejrzyj wszystkie wymagane uprawnienia w pliku manifestu, w czasie działania i na ekranie ustawień aplikacji (Ustawienia > Informacje o aplikacji) na urządzeniu. | |
SC-5 | Sprawdź, czy wszystkie komponenty aplikacji zdefiniowane w pliku manifestu Androida są odpowiednie dla stanu eksportu. Wyeksportowana właściwość musi być jednoznacznie określona dla wszystkich komponentów. | |
SC-6 | Sprawdź konfigurację zabezpieczeń sieciowych aplikacji, upewniając się, że żadne lintowania nie kończą się niepowodzeniem. | |
SC-7 | W przypadku każdego komponentu WebView przejdź na stronę, która wymaga JavaScriptu. | |
SC-8 | W każdym komponencie WebView spróbuj przejść do witryn i treści, które nie są wczytywane bezpośrednio przez aplikację. | |
SC-9 | Zadeklaruj konfigurację zabezpieczeń sieci, która wyłącza ruch nieszyfrowany, a następnie przetestuj aplikację. | |
SC-10 | Uruchom aplikację i wykonaj wszystkie jej podstawowe funkcje, obserwując dziennik urządzenia. Nie należy rejestrować żadnych prywatnych informacji o użytkowniku. | |
Google Play | GP-1 | Zaloguj się w Konsoli programisty Google Play, aby przejrzeć swój profil dewelopera, opis aplikacji, zrzuty ekranu, grafikę, ocenę treści i opinie użytkowników. |
GP-2 | Pobierz grafikę i zrzuty ekranu, a następnie przeskaluj je w dół, aby pasowały do rozmiarów wyświetlacza na urządzeniach i formatach, na które kierujesz reklamy. | |
GP-3 | sprawdzać wszystkie zasoby graficzne, multimedia, tekst, biblioteki kodu i inne treści zawarte w pakiecie do pobrania aplikacji lub pliku rozszerzenia; |
Testowanie za pomocą StrictMode
Aby przeprowadzić testy wydajności, zalecamy włączenie StrictMode
w
i używa jej do wychwytywania operacji, które mogą mieć wpływ na wydajność, dostęp do sieci, pliki
odczyty/zapisy itd. Poszukaj potencjalnie problematycznych operacji zarówno w wątku głównym, jak i w kontekście
w innych wątkach.
Zasadę monitorowania wątku możesz skonfigurować za pomocą:
StrictMode.ThreadPolicy.Builder
i włączyć wszystkie obsługiwane funkcje monitorowania
ThreadPolicy
korzysta z:
detectAll()
Włącz wizualne powiadomienia o naruszeniach zasad w aplikacji
ThreadPolicy
za pomocą
penaltyFlashScreen()