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,
Czy istnieje jakieś rozwiązanie?
Odpowiedzi:
6 dla odpowiedzi № 1Niestety, 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.
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”
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.
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
2) Otwórz analizator pamięci Eclipse (1 krok podczas przygotowania)
3) Import nabył Head Dump
3) Wybierz Raport o podejrzanych wyciekach
4) Zobacz wyniki
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.