YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Traditional subtitles

← 04-04 Memory_Leaks

04-04 Memory_Leaks

Get Embed Code
13 Languages

Showing Revision 2 created 01/24/2016 by sp16.

  1. Android Java語言有一個最大的好處
  2. 是托管內存環境
  3. 程式在安裝跟卸載時不需要格外小心
  4. 這一點雖然很棒
  5. 但也有些潛伏的問題不易被查覺
  6. 劃分到Android運行時的內存堆
  7. 是根據類型和
  8. 利於碎片帳集操作的系統組織方式來分配的
  9. 每一區域都有其預設的內存空間
  10. 當一個程式所需綜合儲存空間接近上限
  11. 垃圾清理系統就會啟動
  12. 清理掉無關緊要的數據
  13. 通常情況下碎片帳集的運行无需特別注意
  14. 但是大量的清理動作不斷地重復
  15. 很快地消耗掉幀像周期
  16. 花費在碎片帳集上的時間越多
  17. 播放跟傳送音頻所需時間就可能不夠用
  18. 設計師們制造的內存漏洞
  19. 是碎片帳集運行的常見因素
  20. 內存漏洞是無用的數據
  21. 但是垃圾收集器卻無法識別出來
  22. 結果就是垃圾堆積如山
  23. 佔用有效空間 永遠無法被移除
  24. 如此不斷地泄漏內存量
  25. 可用內存不斷地變小
  26. 這意味著為了執行常用的程式
  27. 碎片帳集需要啟動的次數越來越多.
  28. 搜尋跟修復漏洞是個很棘手的問題
  29. 有些漏洞很容易就會生成
  30. 例如為閑置程式生成環型基準
  31. 不過有一些也很復雜
  32. 例如在類別載入器安裝未完成時就強制執行
  33. 不論怎樣 一個程式想要運行得又好又快
  34. 就需察覺跟警惕可能存在的內存漏洞
  35. 裝置里面的數據類型不同
  36. 且又互相聯合
  37. 程式所需的內存量不盡相同
  38. 不過好在有一個簡單的工具
  39. 可以查看Android SDK中潛在的漏洞
  40. 來學習下