[笔记] Memoery Managerment -Effici

2017-02-25  本文已影响22人  FrankFan

《Efficient Android Threading》
Chapter 6 Memoery Managerment

Garbage Collection

DVM 是一个使用内存回收器从共享内存中频繁回收内存的内存管理系统,比如堆,当增长过于大时。
Gingerbread 2.3 版本和以下 GC 是 <b>顺序执行</b> 的,可能会在渲染UI时GC,这是可能会影响用户体验。
Honeycomb 后,GC 开始在自己的线程中并发执行,不会停止应用线程。
Dalvik GC 使用非常广泛的 两部机制,标记和清除,mark and sweep。
标记步骤 是 遍历对象树,将不被任何其他对象引用的对象标记为 不再用,不用的对象将会被当做垃圾回收,sweep 步骤就是释放所有的标记对象。
线程可能引发内存泄露。

GC root

当启动一个线程时,线程对象本身就是 GC root。它引用的所有对象都可达。
所有的可从运行的 Runnable 中可达的对象都是GC root。

Memory Leak

Avoiding Memory Leaks

看完 Part I Fundamentals 部分了,明天开始看 Part II Asynchronous Techniques 部分了。

上一篇 下一篇

猜你喜欢

热点阅读