Okay. To get more information on the state of
our memory and
the objects that are taking up space, we can use a handy tool called Heap Viewer.
Now with Heap Viewer,
you can see how much memory a process is using at certain points in time.
Now as before, if you want to follow along, go ahead and start Android Studio
and bring sunshine to the foreground on your connected device.
In order to start Heap Viewer, you'll want to start Android Device Monitor
first and there are a few options to do that.
One way is through the tools menu where you can click on tools, android,
and android device monitor.
Or, you can click on this nifty android icon here in your tool bar at the top.
So I'm going to do that and android device monitor is starting,
then we're going to want to go ahead and click the DDMS tab.
The heap viewer is one of the DDMS tools and
we're going to go over here to the left.
And we're going to select the app we want to profile, so
we're going to select Sunshine now I'm going to pull up this panel down here.
So once you have Sunshine selected you're going to want to select this heap
tab to get more information.
Now initially you might not see much, but you notice this little.
Hint here at the top that reads Heap updates will happen after every GC for
this client.
Why don't we go ahead and click on this and cause a GC to update your data.
Whoa, look.
We have all this new information now.
Now the table updated and shows you what data is currently available and
alive on the Heap.
If you want to get some more details go ahead and select a single data type.
I'm going to click this class object.
Now you'll see a lot of data will update in the panel down below.
You can now see a histogram for the number of allocations and
also the specific memory size for that data type.
In this case we're talking about the class object.
Now the heap viewer is really helpful to see what.
Types of objects your application has allocated,
as well as how many and what sizes they are on the heap.
Again here, see we see the total sizes.
Of particular types on our heap.
Like for example there's over 1400 two biter arrays on our heap,
that's taking about 120 kilobytes.
Whereas there are only 27 one byte arrays and
it's roughly only taking up about two megabytes.
Now the heap viewer is really helpful to see what types of objects.
You application is allocated.
As well as how many, and their respective sizes on the heap.
For example, if we look here we
have 27 one byte arrays that are taking up roughly two megabytes of data.
And then we have about 2000 four
byte arrays that are taking up currently 228 kilobytes of data.
This information is super helpful when you're trying to track down
memory leaks.
حسنا. للحصول على المزيد من المعلومات عن حالة ذاكرتنا.
وما يأخذ مساحة كبيرة، يمكن استخدام أداة مفيدة تسمى عارض الذاكرة التكويمية.
وبها تستطيع أن ترى مقدار الذاكرة التي يتم استخدامها في بعض النقاط.
كالسابق، إذا كنت تريد أن تتابع، اذهب وشغل ستوديو الاندرويد
واحضر sunshine إلى مقدمة جهازك المتصل.
من أجل بدء عارض الذاكرة التكويمية ستبدأ بمراقبة جهاز الاندرويد أولا،
وهناك عدة خيارات للقيام بذلك.
إحدى الطرق هي قائمة الأدوات عن طريق النقر على الأدوات، اندرويد
ومراقب جهاز الاندرويد.
أو يمكن النقر على أيقونة اندرويد في شريط الأدوات في الجزء العلوي
لذلك أنا سأفعل ذلك وسيبدأ مراقب جهاز الاندرويد،
سنستمر في فعل ذلك مع النقر على علامة التبويب DDMS.
يعتبر عارض الذاكرة التكويمية واحدا من أدوات DDMS
سنستمر في ذلك من هنا إلى اليسار.
وسنعمل على تحديد التطبيق الذي نريد عرضه،
لذلك سنعمل على اختيار Sunshine وسأسحب هذه القائمة إلى أسفل.
بمجرد اختيار Sunshine، فستريد اختيار هذه الذاكرة التكويمية
اضغط بعلامة التبويب للحصول على المزيد من المعلومات.
في البداية قد لا ترى كثيرا، ولكنك تلاحظ هذه اللمحة
هنا في الجزء العلوي الذي يقرأ تكدس الذاكرة وستبدأ
التحديثات بعد كل GC لهذا العميل.
لماذا لا نستمر بالنقر على هذا للسماح لهذه الGC بتحديث بياناتك.
واو!، انظر.
لدينا كل هذه المعلومات الجديدة الآن.
يتم تحديث الجدول الآن ويوضح لك ما هي البيانات المتوفرة حاليا
والنشطة في الذاكرة التكويمية.
إذا كنت تريد الحصول على مزيد من التفاصيل، حدد نوع البيانات الفردية
سانقر على فئة هذا الشيء.
سترى ان الكثير من البيانات يتم تحديثها في القائمة في الأسفل
يمكنك الآن رؤية الرسم البياني لعدد من المخصصات
وأيضا حجم الذاكرة المعينة لهذا النوع من البيانات.
في هذه الحالة نحن نتحدث عن فئة الشيء.
يعتبر عارض الذاكرة التكويمية مفيدا حقا لمعرفة ما هي
أنواع الأشياء التي خصصها التطبيق الخاص بك،
وكذلك عدد وحجم تلك الأشياء في الذاكرة التكويمية.
مرة أخرى هنا، نحن نرى إجمالي الأحجام،
من أنواع معينة في الذاكرة التكويمية لدينا.
مثلًا، هناك أكثر من ١٤٠٠ من المصفوفات الثنائية في الذاكرة التكويمية لدينا،
حيث تأخذ حوالي ١٢٠ كيلو بايت.
في حين انه لا يوجد سوى ٢٧ من مصفوفات بايت الفردية
والتي تأخذ تقريبا فقط نحو ٢ ميجا بايت.
يعتبر عارض تكدس الذاكرة مفيد حقا لمعرفة ما هي أنواع الأشياء.
يتم تخصيص التطبيق الخاص بك.
فضلا عن عدد وأحجام كل منها في الذاكرة التكويمية.
على سبيل المثال، إذا نظرنا هنا
فان لدينا ٢٧ من مصفوفات بايت الفردية التي تأخذ ما يقرب
٢ ميجا بايت من البيانات. ثم لدينا حوالي ٢٠٠٠
من مصفوفات بايت الرباعية التي تأخذ حاليا ٢٢٨ كيلو بايت من البيانات.
تعتبر هذه المعلومات مفيدة جدا عندما تحاول تتبع تسريب الذاكرة.
Para obtener más información
de estado de nuestra memoria,
y de los objetos que ocupan espacio, podemos usar una práctica herramienta
llamada Heap Viewer.
Con Heap Viewer
puedes ver cuánta memoria consume un proceso en determinado momento.
Como antes, si quieres seguirnos, procede a ejecutar Android Studio
y a traer Sunshine al frente en tu dispositivo conectado.
Para iniciar Heap Viewer, primero ejecuta Android Device Monitor
para lo cual hay algunas opciones.
Una manera es a través del menú HERRAMIENTAS, donde puedes hacer clic en
HERRAMIENTAS>ANDROID
y MONITOR DE DISPOSITIVO ANDROID
O, puedes hacer clic en éste ingenioso ícono de android, aquí en la barra
de herramientas de arriba.
Hagámoslo. El monitor de dispositivo android inicia.
Ahora hagamos clic en la pestaña DDMS.
El Heap Viewer es una de las herramientas DDS
y vayamos a la izquierda,
y vamos a seleccionar la app que queremos perfilar
elijamos SUNSHINE, voy a elevar éste panel de aquí abajo,
Una vez que hayas elegido SUNSHINE, vas a elegir ésta pestaña de pila
para obtener más información.
Al principio no se ve mucho, pero notarás éste pequeño
aviso arriba, que dice: "ocurrirán actualizaciones de la pila tras cada GC
para éste cliente".
Hagamos clic aquí y haremos que un GC actualice tus datos.
Oh, mira.
Ahora tenemos toda ésta información.
Ahora la tabla se ha actualizado y muestra qué datos están disponibles
y en vivo, en la pila.
Si quieres más detalle, procede a elegir un solo tipo de datos.
Voy a hacer clic en éste objeto de clase.
Ahora verás muchos datos actualizarse en el panel de abajo.
Puedes ver un histograma para el número de asignaciones
y también el tamaño específico de memoria para cada tipo de datos.
En éste caso estamos hablando acerca del objeto de clase.
El Heap Viewer es realmente útil para ver qué
tipos de objeto ha asignado tu aplicación
así como también cuántos hay y qué tamaño tienen en la pila
Aquí se ven los tamaños totales.
De los tipos particulares en la pila.
Por ejemplo, hay más de 1400 arreglos de dos bits en nuestra pila
que ocupan unos 120 kilobytes.
Mientras que sólo hay 27 arreglos de un bit, que
ocupan tan sólo unos dos megabytes.
El Heap Viewer es realmente útil para ver qué tipos de objetos
ha asignado tu aplicación.
Así como también cuántos, y sus respectivos tamaños en la pila.
Por ejemplo, si vemos aquí
tenemos 27 arreglos de un byte que ocupan más o menos dos megabytes de datos.
Y también tenemos unos 2.000 arreglos
de cuatro bits, que ocupan 228 kilobytes de datos.
Ésta información es súper útil para cuando estás rastreando
fugas de memoria.
Pour avoir plus d'informations sur l'état de notre mémoire et les objets
gourmands en espace, nous avons un outil très pratique : Heap Viewer.
Avec Heap Viewer,
vous pouvez voir combien de mémoire un processus utilise à un moment donné.
Comme avant, si vous voulez suivre, ouvrez Android Studio
et mettez Sunshine au premier plan sur votre appareil connecté.
Pour commencer Heap Viewer, vous devez d'abord lancer Android Device Monitor
et il y a quelques options pour faire ça.
À travers le menu Tools > Android >
et ensuite > Android Device Monitor.
Vous pouvez aussi cliquer sur l'icône android, ici, sur votre barre d'outils.
Je fais donc ça et Android Device Monitor démarre.
Ensuite, nous allons cliquer sur l'onglet DDMS,
Heap Viewer est l'un des outils DDMS,
et nous venons à gauche ici.
Et nous allons sélectionner l'application que nous voulons profiler.
Nous allons sélectionner Sunshine. Je vais tirer ce panneau vers le haut.
Une fois que vous avez choisi Sunshine, vous allez sélectionner cet onglet heap
pour avoir plus d'informations.
Vous pourriez ne pas le voir, mais regarder ce petit texte ici en haut
informant que les mises à jour seront faites après chaque GC pour ce client.
Pourquoi ne pas cliquer et provoquer un GC pour mettre à jour vos données.
Regardez. Il y a toutes ces informations nouvelles.
Maintenant le tableau est mis à jour et affiche quelles données
sont disponibles et actives sur le tas.
Si vous souhaitez avoir plus d'info, sélectionnez un seul type de données.
Je vais cliquez sur class object ici.
Maintenant, vous voyez beaucoup de données disponibles sur le panneau en bas.
Vous pouvez alors voir un histogramme pour le nombre d'allocations
ainsi que la taille de mémoire spécifique pour ce type de données.
Dans ce cas, nous parlons de class object.
Heap Viewer est vraiment utile pour voir
les types d'objets que votre application a alloués,
ainsi que leurs nombres et leurs tailles sur le tas de mémoire.
Voyez ici les tailles totales
de types particuliers sur notre tas.
Ainsi par exemple, il y a plus de 1 400 arrays 2-byte dans notre tas de mémoire
qui prennent environ 120 kilo-octets.
alors qu'il y a seulement 27 arrays un byte
et ça fait seulement environ deux méga-octets.
On voit que Heap Viewer est vraiment utile pour voir quels types d'objets
votre application a alloué.
Et aussi leur nombre et tailles respectives sur le tas de mémoire.
Par exemple, ici nous avons
27 arrays un byte qui prennent environ deux méga-octets de données.
Et puis nous avons environ 2 000 arrays 4 bytes
qui prennent actuellement jusqu'à 228 kilo-octets de données.
Cette information est super utile pour suivre les fuites de mémoire.
Oke. Untuk mendapatkan informasi tentang keadaan memori kita
dan objek yang mengambil ruang,
kita dapat menggunakan alat yang disebut Heap Viewer.
Dengan Heap Viewer,
Anda dapat melihat memori yang digunakan pada waktu tertentu.
Seperti sebelumnya,
jika Anda mau mengikutinya, mulailah Android Studio
dan jalankan Sunshine sebagai latar pada perangkat yang terhubung.
Untuk memulai Heap Viewer, Anda harus memulai Android Device Monitor lebih dulu
dan ada beberapa pilihan untuk melakukan itu.
Salah satu cara melalui menu Tools di mana Anda bisa klik Tools, Android,
dan Android Device Monitor.
Atau, Anda dapat mengklik ikon Android di tool bar di bagian atas.
Jadi saya akan melakukan itu dan Android Device Monitor dimulai,
maka kita akan melanjutkan dan klik tab DDMS.
Heap viewer adalah salah satu alat DDMS dan
Kita akan ke sebelah kiri,
dan kita akan memilih aplikasi yang ingin dibuat profilnya,
jadi kita akan memilih Sunshine, sekarang saya akan menarik panel ini.
Setelah Anda memilih Sunshine, Anda harus memilih tumpukan tab ini
untuk mendapatkan informasi lebih lanjut.
Awalnya Anda mungkin tidak melihat banyak,
tapi Anda melihat sedikit petunjuk di atas sini
yang bertuliskan Heap Update akan terjadi setelah setiap GC untuk klien ini.
Kenapa kita tak coba klik dan menyebabkan GC untuk memperbarui data Anda.
Lihatlah.
Kita memiliki informasi baru sekarang.
Sekarang tabelnya diperbarui
dan menunjukkan data apa yang saat ini tersedia
dan tersedia di Heap.
Jika Anda ingin lebih detail, silakan memilih jenis data tunggal.
Saya akan klik objek kelas ini.
Sekarang Anda akan melihat banyak data yang akan diperbarui di panel bawah.
Anda sekarang dapat melihat histogram untuk jumlah alokasi dan
juga ukuran memori khusus untuk jenis data tersebut.
Dalam hal ini kita berbicara tentang objek kelas.
Sekarang penampil tumpukan sangat membantu melihat
jenis objek yang aplikasi Anda telah mengalokasikannya,
serta berapa banyak dan ukuran mereka di tumpukan.
Sekali lagi di sini, kita bisa melihat total ukuran
dari jenis tertentu di tumpukan kita.
Misalnya, ada lebih dari 1400 dua susunan bit di tumpukan kami,
yang mengambil sekitar 120 kilobit.
Padahal hanya ada 27 susunan bit
dan ukurannya kira-kira hanya sekitar dua megabit.
Sekarang Heap Viewer sangat membantu untuk melihat jenis objek
yang aplikasi Anda alokasikan.
Serta berapa banyak, dan ukuran masing-masing di tumpukan.
Misalnya, jika kita melihat di sini, kita memiliki
27 susunan bit yang mengambil sekitar dua megabit data.
Dan kemudian kita memiliki sekitar 2000 empat susunan bit
yang mengambil 228 kilobit data.
Informasi ini super membantu saat Anda mencoba melacak kebocoran memori.
それでは メモリ段階でより多くの情報を
得てみましょう
スペースを占有するオブジェクトで ヒープビュアというツールを活用できます
このヒープビュアで
特定時点にメモリが どれぐらい残っているかを確認できます
これを実行するためには 前と同じくアンドロイドスタジオからです
そして接続されたデバイスに Sunshine を確認します
ヒープビュアを始めるためには まずアンドロイドモニターが必要です
そうするためのオプションが いくつかあります
一つ目はツールメニューです アンドロイドからツールを選択しましょう
そしてアンドロイドモニターを選択します
それか画面トップのアンドロイドモニター アイコンをクリックしてもいいです
そうするとアンドロイド デバイスモニターが立ち上がり
次にいくために DDMS タップをクリックします
ヒープビュアは DDMS ツールの一つです
これから左側を確認します
選択したいプロフィール アプリを選んだあと
Sunshinewo 選択します ここにこのパネルをドラッグしてみます
Sunshine を選択すると このヒープにさらに多くの情報が
必要になります
最初は目にあまり入らないと思いますが 少しは気づかれると思います
皆さんのための ヒープアップデート情報が
この左側に隠れています
押してみますね これは GC が データをアップデートするためです
ほら
ここにすべての新しい情報があります
テーブルアップデートを見ましょう どんなデータが使用出来て
ヒープ上に生きているかをです
より詳しい情報がほしいときは 一つのタイプを選択します
クラスオブジェクトを クリックしてみます
たくさんのデータが下のパネル上で アップデートされていることが分かります
割当された数のヒストグラムが 確認できます さらに
データタイプ別のメモリサイズも 確認できます
この場合はクラスオブジェクトに 関して話せますね
何か確認したい時に ヒープビュアはとても役立ちます
アプリケーションのオブジェクト タイプ別の割当は
どんなに多いか それはヒープによって違います
もう一度 ここの全体のサイズを確認しましょう
特定タイプのヒープ
ヒープには 1400 を超える 2 バイトルの列があります
約 120 キロバイトということです
たったの 27 の 1 バイト列が
だいたい 2 メガバイト程度を 使います
ここでオブジェクトをタイプ別に見る時に ヒープビュアが役立ちます
割当されたアプリでです
そして多さや ヒープ上の各サイズも確認できます
これが例です
27 の 1 バイト列がある時 だいたい 2 メガバイトを使うとすると
2000 の 4 バイト列を
占有することになります 現在のデータは 228 キロバイトですね
この情報は メモリリークを追跡する時に
とても有用です
좋아요
메모리 상태와 메모리를 할당받은 객체들에 대한 자세한 정보를 보고 싶다면
Heap Viewer라는 툴을 사용하면 돼요
Heap Viewer는 프로세스가 특정 시점에 사용하는 메모리 양을 볼 수 있어요
함께 따라 해보고 싶다면 Android Studio를 켜고
연결된 기기에서 Sunshine 애플리케이션을 실행해 주세요
Heap Viewer를 실행하려면 Android Device Monitor를 먼저 실행하셔야 해요
Android Device Monitor 실행 방법은 여러 가지 있어요
Tools 메뉴를 통해 실행하려면
Tools > Android > Android Device Monitor로 가면 돼요
여기 툴바의 안드로이드 아이콘을 클릭해 실행할 수도 있어요
전 아이콘을 클릭할게요 Android Device Monitor가 로딩 중입니다
다음 DDMS 탭을 클릭해주세요
Heap Viewer도 DDMS 툴 중 하나거든요
그리고 왼쪽으로 와서
프로파일링 할 애플리케이션을 선택해주세요
Sunshine을 선택할게요 그리고 아래에 있는 패널을 위로 당길게요
Sunshine을 선택하셨으면
더 많은 정보를 보기 위해 여기 있는 Heap 탭을 클릭해주세요
처음엔 정보가 많지 않을 거예요
그렇지만 위에 조그만 메시지 보이시죠
GC 이벤트가 발생하면 힙이 업데이트 된다고 쓰여있어요
그럼 여기 있는 버튼으로 GC를 실행해 데이터를 업데이트해볼게요
와 이것 보세요
새로운 정보가 생겼네요
업데이트 된 테이블엔 현재 힙에서 사용 중인 데이터를 볼 수 있어요
더 많은 정보를 보시려면 데이터 타입을 선택해주세요
전 이 클래스 객체를 선택할게요
그럼 아래 패널에 자료가 업데이트 될 거예요
막대그래프로 볼 수 있어요
선택한 데이터 타입으로 할당된 객체의 개수와
각 객체의 메모리 크기에 대해서 말이죠
지금 저희는 클래스 객체에 대한 정보를 보고 있는거죠
Heap Viewer는 애플리케이션이 할당한 데이터 타입의 종류와
각 데이터 타입의 개수와 크기를 보는데 좋아요
여기를 다시 보시면
각 데이터 타입의 총 크기가 보이죠
예를 들어 2-바이트 배열은 1,400개 이상 있고
120KB 정도의 공간을 차지하고 있습니다
반면 1-바이트 배열은 27개밖에 없고
크기도 2MB 정도 밖에 되지 않아요
Heap Viewer는 애플리케이션이 힙에 할당한 객체의 유형을 확인하고
할당한 객체의 개수와 크기를 보는데 유용합니다
예를 들어 여기 보시면
1-바이트 배열이 27개 있고
2MB의 공간을 차지하고 있어요
그리고 4-바이트 배열은 대략 2,000개 있고
228KB의 공간을 사용하고 있습니다
이런 유형의 정보는 정말 많은 도움이 돼요
메모리 누수를 찾는데 말이죠
Certo.
Para ter mais informações sobre a memória
e os objetos que estão ocupando espaço, usamos a ferramenta Visualizador de Heap.
Com o Visualizador de Heap,
podemos ver a quantidade de memória que o processo usa em determinado período.
Se você quiser acompanhar, abra o Android Studio
e coloque o SunShine em primeiro plano no dispositivo conectado.
Para iniciar o Visualizador do Heap, você deve abrir o monitor do dispositivo.
E há algumas opções para fazer isso.
Um modo é pelo menu ferramentas, clicando em ferramentas > android >
monitor de dispositivo Android.
Ou, você pode clicar nesse lindo ícone na sua barra de ferramentas no alto.
Vou clicar aqui e o monitor do dispositivo Android está iniciando,
vamos avançar e clicar na aba DDMS.
Porque o visualizador do Heap é uma das ferramentas do DDMS.
E vamos aqui para a esquerda
e vamos selecionar o aplicativo que queremos personalizar.
Vamos selecionar o SunShine. Agora vou colocar esse painel aqui.
Uma vez selecionado o SunShine,
você deve selecionar a aba do Heap para ter mais informações.
Inicialmente, você pode não ver muito, mas repare essa dica aqui no topo que diz:
Atualização de Heap, vai atualizar após cada coleta de lixo,
para esse cliente?
Por que não clicamos e provocamos uma coleta de lixo para atualizar os dados?
Uau, veja só:
temos toda essa nova informação agora.
Agora a tabela atualizou e mostra quais dados estão disponíveis
e ativos no Heap.
Se você quiser mais detalhes, selecione um tipo de dado.
Vou clicar nessa classe de objeto.
Agora você vai ver vários dados atualizados no painel abaixo.
Você pode ver um histograma para o número de alocações e
também a memória específica para o tipo de dado.
Nesse caso, estamos falando da classe objeto.
Agora, o visualizador do Heap é realmente útil para ver
quais os tipos de objeto que seu aplicativo alocou.
E também a quantidade e o tamanho que eles têm no Heap.
Aqui, podemos ver o total
de padrões únicos no Heap.
Por exemplo, há mais de 1400 arranjos bidimensionais em nosso Heap,
que usa cerca de 120kb.
Por outro lado, há somente 27 arranjos unidimensionais
que ocupam apenas cerca de 2mb.
Agora o visualizador de Heap é realmente útil para ver quais os tipos de objeto
seu aplicativo está alocado.
Bem como quantos e seus respectivos tamanhos no Heap.
Por exemplo, se olharmos aqui
nós temos 27 arranjos unidimensionais que estão ocupando cerca de 2mb de dados.
E então nós temos algo em torno de
2000 arranjos quadridimensionais que está ocupando 228kb de dados.
Essa informação é muito útil
quando você está tentando encontrar
desperdício de memória.
Чтобы получить больше информации
о состоянии памяти и об объектах,
которые занимают пространство, можно воспользоваться инструментом Heap Viewer.
Heap Viewer показывает,
какой объём памяти использовался процессом в определённый момент времени.
Чтобы следить за дальнейшими действиями, запустите Android Studio
и откройте приложение Sunshine на подключенном устройстве.
Для запуска Heap Viewer необходимо вначале запустить Android Device Monitor,
что можно сделать различными способами.
Это можно сделать через меню инструментов, выбрав Tools > Android
и запустив Android Device Monitor.
Или можно нажать на этот стильный значок Android в панели инструментов.
Так и сделаем. Запускаем Android Device Monitor.
Нажимаем на вкладку DDMS.
Утилита Heap Viewer является одним из инструментов DDMS,
а мы перейдем к левой части.
Здесь выбираем то приложение, для которого хотим создать профиль,
поэтому выбираем Sunshine, а я передвину эту панель вот сюда.
Итак, теперь, когда мы выбрали Sunshine, нам следует перейти на вкладку Heap,
чтобы получить дополнительную информацию.
Возможно, вначале вы не увидите многого, но здесь есть небольшая подсказка сверху,
где сказано: «Обновление памяти происходит каждый раз после выполнения сборки мусора
для данного клиента.»
Давайте нажмём на эту кнопку и инициализируем СМ, чтобы обновить данные.
Ого, смотрите.
Появилось множество новой информации.
Теперь в таблице показываются те данные, которые доступны в текущий момент
и находятся в динамической памяти.
Чтобы получить более подробные сведения, выберите конкретный тип данных.
Я нажму на этот объект класса.
Вы видите, теперь в панели снизу отображается целый ряд данных.
Здесь показана диаграмма выделения памяти,
а также конкретный объём памяти для данного типа данных.
В нашем случае это объект класса.
Heap Viewer очень удобен для просмотра того,
какие типы объектов были выделены вашим приложением,
а также их количества и размеров в динамической памяти.
Ещё раз, здесь мы видим итоговые размеры
для конкретных типов объектов в памяти.
Например, в памяти сейчас размещено более 1400 двубайтовых массивов,
которые занимают около 120 килобайт.
В то же время, имеется всего 27 однобайтовых массивов,
и они занимают около двух мегабайт.
Итак, Heap Viewer очень удобен для просмотра тех типов объектов,
которые создало ваше приложение.
А также их количества и соответствующих размеров в памяти.
Например, если мы посмотрим сюда,
мы увидим, что имеется 27 однобайтовых массивов, занимающих около 2 мегабайт.
Также имеется
около 2000 4-байтовых массивов, занимающих около 228 килобайт.
Эта информация окажется очень полезной, когда вы будете пытаться найти
утечки памяти.
Okay. Tamam. belleğimiz ve yer kaplayan objelerimizin durumuyla
ilgili daha fazla bilgi almak için Heap Viewer (Yığın İzleyici)
adı verilen kullanışlı bir aracı kullanabiliriz.
Şimdi Yığın İzleyiciyle belli bir zamanda ne kadar bir
işlemin bellek kullandığını görebilirsiniz.
Şimdi daha önceden olduğu gibi, takip etmek istiyorsanız, devam edin ve Android
Studio'yu başlatın ve bağlı olan cihazınız üzerine ön plana güneş ışığı getirin.
Yığın İzleyiciyi başlatmak için, Android Cihaz Monitörü'nü önce
başlatmanız gerekecek ve bunun için birkaç seçenek bulunmaktadır.
Araç menüsü boyunca araçlara, andorid'e ve android
cihaz monitörüne tıklayabilirsiniz.
Veya burada üste araç çucuğundaki bu şık android simgesine tıklayabilirsiniz.
Bunu yapacağım ve android cihaz monitörü başlayacak ve sonra
devam etmek isteyeceğiz ve DDMS sekmesine tıklayacağız.
Yığın izleyici DDMS araçlarından bir tanesidir ve
burada solda bunu izleyeceğiz.
Ve profilini çizmek istediğimiz uygulamayı seçeceğiz ve şimdi
Gün ışığını (Sunshine) seçeceğiz, bu paneliburadan aşağıya kaldıracağım.
Sunshine'ı seçtiğinizde daha fazla bilgi için bu
yığın sekmesini seçmek isteyeceksiniz.
Şimdi başlangıçta fazla birşey göremezsiniz fakat bunu biraz farkedebilirsiniz.
Yığın güncellemesini okuyan buradaki üstteki ipucu bu müşteri için
her GC'den sonra olacaktır.
Verinizi güncelleyecek GC'ye sebep olacak olan şeyi neden devam etmiyoruz ve
buna tıklamıyoruz. Voov, bakın.
Hepimiz şimdi bu yeni bilgiye sahibiz.
Şimdi tablo güncellendi ve Yığın üzerinde canlı müsait olan
veriyi göstermektedir.
Devam etmek ve daha fazla ayrıntı elde etmek için devam edin ce tek veri
türünü seçin. Bu sınıf objesine tıklayacağım.
Şimdi aşağıdaki panelde çok sayıda verinin güncelleneceğini göreceksiniz.
Şimdi tahsis edilen sayılar ve bu veri türü için belirli bellek
büyüklüğünde bir çucuk grafik göreceksiniz
Bu durumda sınıf objesinden bahsediyoruz.
Şimdi yığın izleyiciyi görmek gerçekten çok faydalı.
Uygulamanızın tahsis ettiği obje türlerini, kaç tane veya ne boyutta yığın
üzerinde olduklarını.
Tekrar burada toplam boyutu görüyoruz.
Yığınımız üzerindeki özel türleri.
Yığınımız üzerinde 1400'ün üzerinde iki dizin var gibi, bu
yaklaşık 120 kilobyte eder.
Oysa burada yalnızca tekli 27 dizin var ve tahminen
2 megabyte almaktadır.
Şimdi yığın izleyicisinin ne tür objeleri gördüğünü bilmek gerçekten faydalı.
Uygulamanız tahsis edildi.
Aynı zamanda yığın üzerinde ne kadar olduğunu ve ilgili boyutlarını.
Örneğin eğer buraya bakarsak yaklaşık iki megabyte veri kaplayan
27 tane tek byte dizinimiz bulunmakta.
Ve sonra şu anda 228 kilobyte veri alanı kaplayan yaklaşık
2000 tane dört byte dizinimiz bulunmakta.
Bellek sızıntısını izleyerek bulmaya çalışmak içinbu bilgi
süper faydalı bir bilgi.
Ok. Để biết thêm thông tin về tình trạng bộ nhớ của chúng ta
và đối tượng chiếm giữ không gian, ta sử dụng một công cụ hữu ích, Heap Viewer.
Giờ với Heap Viewer,
bạn có thể xem một quá trình đang sử dụng bao nhiêu bộ nhớ tại thời điểm nhất định.
Cũng như trước đây, nếu muốn theo dõi hãy tiếp tục và khởi động Android Studio
đồng thời mang Sunshine trở lại nền trước thiết bị đang kết nối của bạn.
Để khởi động Heap Viewer, cần khởi động màn hình thiết bị Android đầu tiên,
và có vài tùy chọn để làm điều đó.
Một cách là thông qua tools menu, bạn click vào Tools, chọn Android,
và Android Device Monitor.
Hoặc có thể bấm vào biểu tượng Android tiện lợi ngay đầu thanh công cụ này.
Giờ tôi sẽ làm vậy và màn hình Android đang khởi động,
sau đó chúng ta cần tiếp tục và click vào thẻ DDMS.
Heap viewer là một trong số các công cụ DDMS và
chúng ta sẽ đi từ đây qua bên trái.
Chúng ta sẽ lựa chọn loại ứng dụng mà ta muốn cấu hình, vì vậy
chúng ta sẽ chọn Sunshine, bây giờ tôi sẽ kéo tấm bảng này lên đây.
Khi Sunshine đã được chọn
bạn cần chọn thẻ Heap này để lấy thêm thông tin.
Ban đầu bạn có thể không thấy nhiều
Nhưng bạn sẽ thấy gợi ý nhỏ, ở dòng chữ trên đầu.
Heap sẽ được cập nhật sau mỗi GC của khách hàng này.
Sao chúng ta không tiếp tục và bấm vào đây để tạo một GC và cập nhật dữ liệu?
Òa, xem này. Giờ chúng ta đã có tất cả thông tin mới.
Giờ bảng dữ liệu đã cập nhật và hiển thị cho bạn dữ liệu nào hiện có sẵn và
còn tồn tại trên Heap.
Nếu muốn biết thêm chi tiết, tiếp tục và chọn một loại dữ liệu duy nhất.
Tôi sẽ bấm vào class object này.
Giờ bạn sẽ thấy rất nhiều dữ liệu được cập nhật trong bảng dưới đây.
Giờ bạn có thể thấy một biểu đồ số lượng phân bổ
và cả kích thước bộ nhớ cụ thể cho loại dữ liệu đó.
Trong trường hợp này, chúng ta đang nói về class object.
Bây giờ Heap Viewer đã thật sự hữu ích để xem
loại đối tượng mà ứng dụng của bạn đã phân bổ
cùng với số lượng bao nhiêu và kích thước của chúng như thế nào trong vùng.
Cũng ở đây, ta thấy được tổng kích thước của từng loại khác nhau trong vùng.
Chẳng hạn như có hơn 1400 mảng 2 byte trong vùng của chúng ta,
con số đó vào khoảng 120 kilobytes.
Trong khi chỉ có 27 mảng 1 byte và
nó chỉ dành được khoảng hai megabytes.
Giờ thì heap viewer đã thực sự hữu ích để xem các loại đối tượng mà
ứng dụng của bạn được phân bổ
cũng như số lượng bao nhiêu và kích thước tương ứng của chúng trong vùng.
Chẳng hạn nếu nhìn ở đây chúng ta có
27 mảng 1 byte hiện đang chiếm khoảng 2 megabyte dữ liệu.
Và sau đó ta có khoảng 2000 mảng
4 byte, chiếm lĩnh 228 kilobyte dữ liệu.
Thông tin này rất hữu ích khi bạn đang cố gắng theo dõi các lỗ hổng bộ nhớ.
Heap Viewer是个很简单的工具，
利用它可以查看内存状态
以及空间占用率的情况。
通过Heap Viewer
可知程序在特定时间内的内存使用量。
跟原来一样，先在装置上，
打开Android Studio里的sunshine，
在执行start Heap Viewer前， 先打开Android Device Monitor。
有以下方法：
一，通过工具菜单点击工具Android，
然后点击android device monitor。
二，点击位于顶端工具栏里的android图示，
我们用第二种方法打开android device monitor，
然后点击DDMS按钮。
heap viewer是DDMS工具之一。
移到左边，
选择要介绍的程序，
选择Sunshine，把屏幕打到这边，
选好Sunshine后，再点选堆。
点击查看详细内容，
开始可能看不到太多东西。
这里提示，针对客户端，
每次垃圾清理后，Heap都会更新。
实际操作一下，点击Cause GC，
天那！看到了吧
所有的数据都更新了。
更新后的表格显示，
在Heap上哪些数据是可用的。
点选其中任一行数据，就可以看到详细数据，
点击class object，
屏幕上马上出现大量更新的数据，
矩形图列出这一数据内存分配的数量，
跟确且的容量。
我们这里讨论的是class object，
heap viewer可以有效地，
分析程序在堆中所分配的数据类型，
以及数量和大小。
这里列出，
在堆中各别类型程序的总容量。
例如，这两个在堆里超过1400的数据组，
用掉约1200个千字节。
而这个只有27的数据组，
却占用了约2个兆字节。
heap viewer能够准确地，
辨别出程序分配的类型，
和数量，以及各自在堆中的容量。
比方说，
这个27的数据组占用了近2兆的字节，
可这4个2000的数据组，
目前占用了228个千字节。
在搜索内存漏洞时，
这是个相当不错的工具。
Heap Viewer是個很簡單的工具
使用牠可以查看內存狀態
以及空間占用率的資訊
透過Heap Viewer
可知程式在特定時間內的內存使用量
跟之前一樣 先在裝置上
打開Android Studio裡的sunshin
在執行start Heap Viewer 前先開啟Android Device Monitor
有以下方法
一是透過工具菜單 點工具 android
然後android device monitor
二是點位於頂端工具欄內的android圖符
用第二種方法 android device monitor開始啟動
然後點DDMS按鈕
heap viewer是DDMS工具的其中之一
移到左邊
選擇要介紹的程式
選擇Sunshine把熒幕拉到這邊
打開Sunshine後選擇heap按鈕
這裡有詳細內容
開始可能看不到什麼內容 不過
這裡提示針對此客戶端
在每一次垃圾清理後Heap都會更新
實際操作一下 點Cause GC
夭壽 看到沒
所有的數據都更新了
更新後的表格顯示
在Heap上哪些數據是可用的
如要察看詳細資料 點選其中任一行數據
點擊class object
熒幕馬上顯示大量更新的數據
矩形圖列出此一數據內存分配的數量
跟明確的容量
我們討論的是class object
heap viewer可以有效地分析
程式在堆中所分配的數據類型
以及數量和大小
這裡列出各個不同類型程式的
全部容量
如這兩個在堆裡超過1400的數據組
用掉約1200個千字節
而這個僅有27的數據組
卻佔用了約2個兆字節
heap viewer能夠準確地
辨識出程式分配的類型
跟數量以及各自在堆中的容量
舉例來說
這個27的數據組佔用了近2兆的字節
可是這4個2000的數據組
目前佔用了228個千字節
在搜尋內存漏洞時
這個是很讃的工具