Chinese, Simplified subtitles

← 04-05 Heap_Viewer_Walkthrough

04-05 Heap_Viewer_Walkthrough

Get Embed Code
13 Languages

Showing Revision 4 created 02/08/2016 by sp16.

  1. Heap Viewer是个很简单的工具,
  2. 利用它可以查看内存状态
  3. 以及空间占用率的情况。
  4. 通过Heap Viewer
  5. 可知程序在特定时间内的内存使用量。
  6. 跟原来一样,先在装置上,
  7. 打开Android Studio里的sunshine,
  8. 在执行start Heap Viewer前,
    先打开Android Device Monitor。
  9. 有以下方法:
  10. 一,通过工具菜单点击工具Android,
  11. 然后点击android device monitor。
  12. 二,点击位于顶端工具栏里的android图示,
  13. 我们用第二种方法打开android device monitor,
  14. 然后点击DDMS按钮。
  15. heap viewer是DDMS工具之一。
  16. 移到左边,
  17. 选择要介绍的程序,
  18. 选择Sunshine,把屏幕打到这边,
  19. 选好Sunshine后,再点选堆。
  20. 点击查看详细内容,
  21. 开始可能看不到太多东西。
  22. 这里提示,针对客户端,
  23. 每次垃圾清理后,Heap都会更新。
  24. 实际操作一下,点击Cause GC,
  25. 天那!看到了吧
  26. 所有的数据都更新了。
  27. 更新后的表格显示,
  28. 在Heap上哪些数据是可用的。
  29. 点选其中任一行数据,就可以看到详细数据,
  30. 点击class object,
  31. 屏幕上马上出现大量更新的数据,
  32. 矩形图列出这一数据内存分配的数量,
  33. 跟确且的容量。
  34. 我们这里讨论的是class object,
  35. heap viewer可以有效地,
  36. 分析程序在堆中所分配的数据类型,
  37. 以及数量和大小。
  38. 这里列出,
  39. 在堆中各别类型程序的总容量。
  40. 例如,这两个在堆里超过1400的数据组,
  41. 用掉约1200个千字节。
  42. 而这个只有27的数据组,
  43. 却占用了约2个兆字节。
  44. heap viewer能够准确地,
  45. 辨别出程序分配的类型,
  46. 和数量,以及各自在堆中的容量。
  47. 比方说,
  48. 这个27的数据组占用了近2兆的字节,
  49. 可这4个2000的数据组,
  50. 目前占用了228个千字节。
  51. 在搜索内存漏洞时,
  52. 这是个相当不错的工具。