Chinese, Simplified 字幕

← 04-06 Spotting_Leaks_In_Memory_Monitor

04-06 Spotting_Leaks_In_Memory_Monitor

埋め込みコードを取得する
13言語

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

  1. 讨论下内存漏洞的问题,
  2. 内存漏洞的行踪,常神出鬼没,
  3. 常慢慢不动声色地出现。
  4. 有时要几天或几个星期后,才会被发现。
  5. 实际上,可能到程序莫名其妙地操作缓慢时,
  6. 才会发现内存不足的问题。
  7. 一定要防患于未燃。
  8. 好消息是,只要有耐心,淡定,再用对工具,
  9. 修复漏洞绝对不是问题。
  10. 首先用Memory Monitor,观察漏洞是怎样生成的。
  11. 在下个影片中,再利用Heat Viewer做初步确认。
  12. 举例说明漏洞的生成,
  13. 以及SDK工具,如何侦测这样微小的漏洞。
  14. 先把手机旋转几下,
  15. 然后打开Memory Monitor。
  16. 这样做的目的是要说明,
  17. 一个简单的动作就会产生漏洞。
  18. 像这样不断改变手机方向,就会有漏洞产生。
  19. 听起来很奇怪,
  20. 但是借由这一动作,
  21. 可知漏洞是怎么缓慢且隐密地产生的。
  22. 首先,漏洞慢慢吞噬程序内的可用内存,
  23. 直到垃圾清理或者叫GC的启动。
  24. 再来,值得注意是由于程序上有漏洞,
  25. 导致垃圾清理无法回收全部垃圾。
  26. 结果大约30秒后
  27. 就会启动第二次GC。
  28. 当漏洞吞噬所有的可用内存时,
  29. Android调整并分配给程序更高的内存上限。
  30. 这样做的同时,如果漏洞没有修复,
  31. 内存会不断地被吞噬,结果导致系统无法再配置,
  32. 手机也就没办法再用了,
  33. 最后死机。
  34. 稍等下,第三次的GC就会启动,
  35. 第四次跟前两次类似,
  36. 现在这组指令在持续运行,
  37. 系统分配更多的内存量,
  38. 可以用同样的方法操作Heap Viewer。