Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>To answer one of your questions, the <a href="http://en.wikipedia.org/wiki/Dalvik_(software)" rel="noreferrer">Dalvik VM</a> indeed does use a tracing garbage collector, using a <a href="http://www.brpreiss.com/books/opus5/html/page424.html" rel="noreferrer">Mark and Sweep</a> approach.</p> <p>According to <a href="http://show.docjava.com/posterous/file/2012/12/10222640-The_Dalvik_Virtual_Machine.pdf" rel="noreferrer">The Dalvik Virtual Machine Architecture</a>:</p> <blockquote> <p>The current strategy in the Dalvik garbage collector is to keep mark bits, or the bits that indicate that a particular object is “reachable” and therefore should not be garbage collected, separate from other heap memory.</p> </blockquote> <p>From Android 5.0 (Lollipop) and on, Dalvik was replaced with the <a href="https://en.wikipedia.org/wiki/Android_Runtime)" rel="noreferrer">Android Runtime (ART)</a>.</p> <p>Google has the following to say about the changes in the garbage collector from Dalvik to ART <sup>(<a href="https://source.android.com/devices/tech/dalvik/index.html#Improved_GC" rel="noreferrer">source</a>)</sup>:</p> <blockquote> <h2>Improved garbage collection</h2> <p>Garbage collection (GC) can impair an app's performance, resulting in choppy display, poor UI responsiveness, and other problems. ART improves garbage collection in several ways:</p> <ul> <li>One GC pause instead of two</li> <li>Parallelized processing during the remaining GC pause</li> <li>Collector with lower total GC time for the special case of cleaning up recently-allocated, short-lived objects</li> <li>Improved garbage collection ergonomics, making concurrent garbage collections more timely, which makes GC_FOR_ALLOC events extremely rare in typical use cases Compacting GC to reduce background memory usage and fragmentation</li> </ul> </blockquote> <p>See also:</p> <ul> <li><a href="https://android.googlesource.com/platform/dalvik.git/+/android-4.3_r2/vm/alloc/MarkSweep.cpp" rel="noreferrer">The source code of the Dalvik garbage collector</a></li> <li><a href="https://android.googlesource.com/platform/art/+/master/runtime/gc/" rel="noreferrer">The source code of the ART garbage collector</a></li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload