/ / Jak sprawdzić wyciek pamięci w Xamarin.Android? - c #, xamarin, wycieki pamięci, xamarin.android, xamarin-studio

Jak sprawdzić wyciek pamięci w Xamarin.Android? - c #, xamarin, wycieki pamięci, xamarin.android, xamarin-studio

Czy ktoś mógłby podzielić się sugestiami lub sposobami sprawdzenia pamięci na platformie Xamarin.Android za pomocą Xamarin Studio?

Próbowałem z poniższą opcją dostępną w Xamarin Studio,

Narzędzia> Instrumenty> Przydziały

Ale w tym przypadku mogę wybrać tylko urządzenia z systemem iOS w opcjach, jak na poniższym obrazku,

wprowadź opis obrazu tutaj

Czy istnieje jakieś rozwiązanie?

Odpowiedzi:

6 dla odpowiedzi № 1

Niestety, nie można tego zrobić z Xamarin Studio w niezawodny sposób. Możesz wypróbować profilera, ale wymaga on licencji Enterprise. Moją propozycją jest użycie standardowych narzędzi dla Androida.

PRZYGOTOWANIE:

1) Pobierz „Analizator pamięci Eclipse”

2) Znajdź Monitor urządzenia z systemem Android. W zestawie z Android SDK i można go znaleźć na stronie „Android-SKD / tools / monitor”. Możesz znaleźć lokalizację tego folderu, otwierając Xamarin, naciskając CMD + i wybierając Lokalizacje SDK.

wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

3) Znajdź konwerter migawek sterty (z Androida na Javę). W zestawie z Android SDK i można go znaleźć na stronie „Android-SDK / platform-tools / hprof-conv”

wprowadź opis obrazu tutaj

ZDOBYĆ:

1) Zainstaluj aplikację z trybem debugowania na urządzeniu

2) Podłącz urządzenie do komputera i uruchom monitor (2 kroki podczas przygotowania)

3) Uruchom aplikację i znajdź ją według identyfikatora aplikacji w urządzeniach.

wprowadź opis obrazu tutaj

4) Naciśnij Update Heap (ikona po prawej stronie ikony błędu)

5) Rób rzeczy, które według ciebie powodują wycieki

6) Naciśnij Save Heap (ikona na prawo od startu) i zapisz go na dysku

WYNIKI ODZYSKIWANIA:

1) Konwertuj Android Heap na Java Heap

1.1) Uruchom terminal

1.2) Zlokalizuj konwerter Heap Shanpshot (hprof-conv) (3 kroki podczas przygotowania)

1.3) upuść hprof-conv na terminal

1.4) upuść stertę Androida, a następnie upuść ją i zmień jej nazwę. Utworzy poprawną kopię w tej samej lokalizacji z wybraną nazwą

android-sdk-macosx/platform-tools/hprof-conv raw.hprof converted.hprof

wprowadź opis obrazu tutaj

2) Otwórz analizator pamięci Eclipse (1 krok podczas przygotowania)

3) Import nabył Head Dump

wprowadź opis obrazu tutaj

3) Wybierz Raport o podejrzanych wyciekach

wprowadź opis obrazu tutaj

4) Zobacz wyniki

wprowadź opis obrazu tutaj


0 dla odpowiedzi nr 2

Możesz wypróbować Xamarin Profiler https://www.xamarin.com/profiler W migawkach pamięci zobaczysz, czy nie ma wycieku pamięci. Ale z mojego doświadczenia wynika, że ​​jeśli wyjdziesz z wyjątku pamięci, możesz spowodować, że użyjesz dużego rozmiaru obrazu w swoim projekcie na Androida.