2016-02-27 8 views
17

Czy ktoś może mi powiedzieć, co oznacza pogrubienie, niebieski i czerwony jeden w programie HPROF Viewer w Androidzie oznacza dokładnie?Co oznaczają kolory elementów drzewa odniesienia odniesionego do systemu Android Studio HPROF?

Pytam o jeden w panelu drzewa referencyjnego.

Bold item

Blue item

Red item

poważaniem.

+1

Możesz przesłać zrzut ekranu gdzieś, pokazując, co masz na myśli, i dołączając do tego zrzutu ekranu z twojego pytania. Na to pytanie trudno będzie bez niej pomóc innym w przyszłości, a także może pomóc w uzyskaniu odpowiedzi na swoje pytanie. – CommonsWare

+0

@CommonsWare Dodałem zrzuty ekranu. –

Odpowiedz

13

nie mogę znaleźć żadnej dokumentacji na ten temat, ale patrząc przez kilka sterty zrzuca to właśnie one wydają się być:

  • blue - Najbliższy obiekt dominator instancji wybranej w prawym górnym panelu.
  • - Główny katalog GC, np. Instancja o głębokości 0, która powinna być , a nie gromadzona. This answer zawiera więcej informacji na temat katalogu głównego GC, a this answer zawiera listę typów rzeczy, które są źródłami podstawowymi.
  • red - Nie widziałem ich, ale domyślam się, że wskazuje to na przypadek, który powinien być zbiorem śmieci, ale jeszcze go nie było.

Jeszcze raz stwierdzenie, że to wszystko może być błędne i nie mogę znaleźć żadnych oficjalnych informacji na ten temat, ale wydaje się, że to pasuje do moich obserwacji podczas korzystania z profilera sterty.

3
  • this$0 (czerwona) - jest to zmienna, która przechowuje odwołanie do LeakActivity. W twoim przypadku jest to niejawne odniesienie do otaczającej klasy. Jest to natura anonimowych klas wewnętrznych w Javie - zawierają one niejawnie odwołanie do zewnętrznej (otaczającej) klasy.

  • Niebieska nazwa klasy - to tylko lokalizacja zmiennej this$0.

Więc w zasadzie to, co widzisz - to LeakActivity jest niejawnie odwoływać od LeakAsyncTask który jest zaimplementowany jako anonimowej klasy wewnętrznej wewnątrz LeakActivity, więc nie można LeakActivity śmieci zebrano aż LeakAsyncTask jest zakończona. Więc mieć potencjalny wyciek aktywność, która jest bardzo niebezpieczna dla aplikacji

+0

Mam na myśli czerwony jak na ostatnim zrzucie ekranu. Myślałem, że ten czerwony to obiekty, które nie są już referencjami, ale wciąż są w pamięci (wkrótce będą GCedowane). Ale chciałem być pewien, a także chciałem wiedzieć, co znaczy odważny i niebieski. Ponieważ niektóre elementy (tak wyjaśnione są niebieskie elementy) wskazują lokalizację i są czarne, więc nie sądzę, że niebieski kolor oznacza lokalizację odniesienia. –

+0

ah, widzę .. Nie jestem pewien, szczerze, co mają na myśli. Trzeba zagrać trochę z próbkami .. Wrócę tu, gdy będę miał więcej informacji :) –

+0

OK, dziękuję :) Czekam na odpowiedź. –

Powiązane problemy