page.title=Introducing ART
@jd:body

<!--
    Copyright 2013 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->


<div id="qv-wrapper">
<div id="qv">
  <h2 id="Contents">In this document</h2>
  <ol id="auto-toc">
  </ol>
  <strong>See also</strong>
  <ol>
    <li><a
    href="http://developer.android.com/guide/practices/verifying-apps-art.html">Verifying
    App Behavior on the Android Runtime (ART)</a></li>
  </ol>
</div>
</div>

<p>
ART is a new Android runtime being introduced experimentally in the 4.4
release. This is a preview of work in progress in KitKat that can be turned on
in <strong>Settings</strong> &gt; <strong>developer options</strong>. This is
available for the purpose of obtaining early developer and partner feedback.</p>

<p class="caution"><strong>Important:</strong> Dalvik must remain the default
runtime or you risk breaking your Android implementations and third-party
applications.</p>

<p>Most existing apps should just work when running with ART. However, some
techniques that work on Dalvik do not work on ART. For information about the
most important issues, see <a
href="http://developer.android.com/guide/practices/verifying-apps-art.html">Verifying
App Behavior on the Android Runtime (ART)</a>.</p>

<h2 id="features">ART Features</h2>

<p>Here are some of the major new features implemented by ART.</p>

<h3 id="AOT_compilation">Ahead-of-time (AOT) compilation</h3>

<p>ART introduces ahead-of-time (AOT) compilation, which can improve app
performance. ART also has tighter install-time verification than Dalvik.</p>

<p>At install time, ART compiles apps using the on-device
<strong>dex2oat</strong> tool. This utility accepts <a
href="http://source.android.com/devices/tech/dalvik/dex-format.html">DEX</a> files as input and
generates a compiled app executable for the target device. The utility should be
able to compile all valid DEX files without difficulty. However, some
post-processing tools produce invalid files that may be tolerated by Dalvik but
cannot be compiled by ART. For more information, see  <a
href="http://developer.android.com/guide/practices/verifying-apps-art.html#GC_Migration">Addressing
Garbage Collection Issues</a>.</p>

<h3 id="Improved_GC">Improved garbage collection</h3>

<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 pause 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 <a
  href="http://developer.android.com/tools/debugging/debugging-memory.html#LogMessages"><code>GC_FOR_ALLOC</code></a>
  events extremely rare in typical use cases</li>
</ul>

<p>ART currently does not use compacting GC, but this feature is under
development in the <a href="https://source.android.com">Android Open Source
Project (AOSP)</a>. In the meantime, don't perform operations that are
incompatible with compacting GC, such as storing pointers to object fields. For
more information, see <a
href="http://developer.android.com/guide/practices/verifying-apps-art.html#GC_Migration">Addressing
Garbage Collection Issues</a>.</p>

<h3 id="Debugging_Imp">Development and debugging improvements</h3>

<p>ART offers a number of features to improve app development and debugging.</p>

<h4 id="Sampling_Profiler">Support for sampling profiler</h4>

<p>Historically, developers have used the <a
href=" http://developer.android.com/tools/help/traceview.html">Traceview</a>
tool (designed for tracing
application execution) as a profiler. While Traceview gives useful information,
its results on Dalvik have been skewed by the per-method-call overhead, and use
of the tool noticeably affects run time performance.</p>

<p>ART adds support for a dedicated sampling profiler that does not have these
limitations. This gives a more accurate view of app execution without
significant slowdown. Sampling support has also been added to Traceview for
Dalvik.</p>

<h4 id="Debugging_Features">Support for more debugging features</h4>

<p>ART supports a number of new debugging options, particularly in monitor- and
garbage collection-related functionality. For example, you can:</p>

<ul>
  <li>See what locks are held in stack traces, then jump to the thread that
      holds a lock.</li>
  <li>Ask how many live instances there are of a given class, ask to see the
      instances, and see what references are keeping an object live.</li>
  <li>Filter events (like breakpoint) for a specific instance.</li>
  <li>See the value returned by a method when it exits (using “method-exit”
      events).</li>
  <li>Set field watchpoint to suspend the execution of a program when a specific
      field is accessed and/or modified.</li>
</ul>

<h4 id="Crash_Reports">Improved diagnostic detail in exceptions and crash reports</h4>

<p>ART gives you as much context and detail as possible when runtime exceptions
occur.  ART provides expanded exception detail for <code><a
href="http://developer.android.com/reference/java/lang/ClassCastException.html">java.lang.ClassCastException</a></code>,
<code><a
href="http://developer.android.com/reference/java/lang/ClassNotFoundException.html">java.lang.ClassNotFoundException</a></code>,
and <code><a
href="http://developer.android.com/reference/java/lang/NullPointerException.html">java.lang.NullPointerException</a></code>.
(Later versions of Dalvik provided expanded exception detail for <code><a
href="http://developer.android.com/reference/java/lang/ArrayIndexOutOfBoundsException.html">java.lang.ArrayIndexOutOfBoundsException</a></code>
and <code><a
href="http://developer.android.com/reference/java/lang/ArrayStoreException.html">java.lang.ArrayStoreException</a></code>,
which now include the size of the array and the out-of-bounds offset, and ART
does this as well.)</p>

<p>For example, <code><a
href="http://developer.android.com/reference/java/lang/NullPointerException.html">java.lang.NullPointerException</a></code>
now shows information about what the app was trying to do with the null pointer,
such as the field the app was trying to write to, or the method it was trying to
call. Here are some typical examples:</p>

<pre class="no-pretty-print">
java.lang.NullPointerException: Attempt to write to field 'int
android.accessibilityservice.AccessibilityServiceInfo.flags' on a null object
reference</pre>

<pre class="no-pretty-print">
java.lang.NullPointerException: Attempt to invoke virtual method
'java.lang.String java.lang.Object.toString()' on a null object reference</pre>

<p>ART also provides improved context information in app native crash reports,
by including both Java and native stack information. </p>

<h2 id="Known_Issues">Known Issues</h2>

<p>The following known issues are present in the 4.4.1 implementation of ART.</p>

<ul>

  <li><em>Compile-time issue:</em> As noted above, ART flags unbalanced
  <code>monitorenter</code>/<code>moniterexit</code> instructions. We relaxed
  this check in 4.4.1 but intend to restore this verification in the future once
  tools are fixed, as this check is necessary for certain compiler
  optimizations. <a
  href="https://code.google.com/p/android/issues/detail?id=61916">https://code.google.com/p/android/issues/detail?id=61916</a></li>

  <li><em>Run-time issue:</em> There was an issue where JNI
  <code>GetFieldID</code> and <code>GetStaticFieldID</code> were using the wrong
  class loader on unattached threads, often leading to later CheckJNI errors or
  NoSuchFieldError exceptions. <a
  href="http://code.google.com/p/android/issues/detail?id=63970">http://code.google.com/p/android/issues/detail?id=63970</a></li>

  <li><em>Run-time issue:</em> Calling JNI <code>NewDirectByteBuffer()</code>
  with byte size of <code>0</code> led to the following CheckJNI error: <pre
  class="no-pretty-print"> JNI DETECTED ERROR IN APPLICATION: capacity must be
  greater than 0: 0</pre> <a
  href="http://code.google.com/p/android/issues/detail?id=63055">http://code.google.com/p/android/issues/detail?id=63055</a></li>

</ul>

<h3 id="Fixed_Issues">Fixed issues</h3>

<ul>

  <li><em>Compile-time issue:</em> Overly aggressive verification and
  compilation of unused portions of dex files lead to corrupt package messages.
  This was addressed in AOSP with: <a
  href="https://android-review.googlesource.com/#/c/72374/">https://android-review.googlesource.com/#/c/72374/</a></li>

  <li><em>Debug-time issue:</em> Interactive debugging performance was slow,
  even in code without breakpoints. This has been addressed in the latest AOSP
  code.</li>

</ul>

<h2 id="building">Enabling ART in Android Build</h2>

<p> Two runtimes are now available, the existing Dalvik runtime
(<code>libdvm.so</code>) and the ART runtime (<code>libart.so</code>). A device
can be built using either or both runtimes. (You can dual boot from
<strong>Developer options</strong> if both runtimes are installed.) See
runtime_common.mk. That is included from build/target/product/runtime_libdvm.mk
or build/target/product/runtime_libdvm.mk or both.</p>

<p> The <code>dalvikvm</code> command line tool can run with either runtime now.
It will default to using the runtime specified in <strong>developer
options</strong>. The default can be overridden by specifying the desired
runtime library, for example with <code>-XXlib:libart.so</code> </p>

<p>
A new <code>PRODUCT_RUNTIMES</code> variable controls which runtimes
are included in a build. Include it within either
<code>build/target/product/core_minimal.mk</code> or
<code>build/target/product/core_base.mk</code>.
</p>

<p>
Add this to the device makefile to have both runtimes
built and installed, with Dalvik as the default:
</br>
<code>PRODUCT_RUNTIMES := runtime_libdvm_default</code>
</br>
<code>PRODUCT_RUNTIMES += runtime_libart</code>
</p>

<h2 id="Reporting_Problems">Reporting Problems</h2>

<p>If you run into any issues that aren’t due to app JNI issues, please report
them via the Android Open Source Project Issue Tracker at <a
href="https://code.google.com/p/android/issues/list">https://code.google.com/p/android/issues/list</a>.
Please include an <code>"adb bugreport"</code> and link to the app in Google
Play store if available. Otherwise, if possible, attach an APK that reproduces
the issue. Please note that issues (including attachments) are publicly
visible.</p>
