## 3.7\. Runtime Compatibility Device implementations: * [C-0-1] MUST support the full Dalvik Executable (DEX) format and [Dalvik bytecode specification and semantics](https://android.googlesource.com/platform/dalvik/). * [C-0-2] MUST configure Dalvik runtimes to allocate memory in accordance with the upstream Android platform, and as specified by the following table. (See [section 7.1.1](#7_1_1_screen_configuration) for screen size and screen density definitions.) * SHOULD use Android RunTime (ART), the reference upstream implementation of the Dalvik Executable Format, and the reference implementation’s package management system. * SHOULD run fuzz tests under various modes of execution and target architectures to assure the stability of the runtime. Refer to [JFuzz](https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/) and [DexFuzz](https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/) in the Android Open Source Project website. Note that memory values specified below are considered minimum values and device implementations MAY allocate more memory per application. <table> <tr> <th>Screen Layout</th> <th>Screen Density</th> <th>Minimum Application Memory</th> </tr> <tr> <td rowspan="12">Android Watch</td> <td>120 dpi (ldpi)</td> <td rowspan="3">32MB</td> </tr> <tr> <td>160 dpi (mdpi)</td> </tr> <tr> <td>213 dpi (tvdpi)</td> </tr> <tr> <td>240 dpi (hdpi)</td> <td rowspan="2">36MB</td> </tr> <tr> <td>280 dpi (280dpi)</td> </tr> <tr> <td>320 dpi (xhdpi)</td> <td rowspan="2">48MB</td> </tr> <tr> <td>360 dpi (360dpi)</td> </tr> <tr> <td>400 dpi (400dpi)</td> <td>56MB</td> </tr> <tr> <td>420 dpi (420dpi)</td> <td>64MB</td> </tr> <tr> <td>480 dpi (xxhdpi)</td> <td>88MB</td> </tr> <tr> <td>560 dpi (560dpi)</td> <td>112MB</td> </tr> <tr> <td>640 dpi (xxxhdpi)</td> <td>154MB</td> </tr> <tr> <td rowspan="12">small/normal</td> <td>120 dpi (ldpi)</td> <td rowspan="2">32MB</td> </tr> <tr> <td>160 dpi (mdpi)</td> </tr> <tr> <td>213 dpi (tvdpi)</td> <td rowspan="3">48MB</td> </tr> <tr> <td>240 dpi (hdpi)</td> </tr> <tr> <td>280 dpi (280dpi)</td> </tr> <tr> <td>320 dpi (xhdpi)</td> <td rowspan="2">80MB</td> </tr> <tr> <td>360 dpi (360dpi)</td> </tr> <tr> <td>400 dpi (400dpi)</td> <td>96MB</td> </tr> <tr> <td>420 dpi (420dpi)</td> <td>112MB</td> </tr> <tr> <td>480 dpi (xxhdpi)</td> <td>128MB</td> </tr> <tr> <td>560 dpi (560dpi)</td> <td>192MB</td> </tr> <tr> <td>640 dpi (xxxhdpi)</td> <td>256MB</td> </tr> <tr> <td rowspan="12">large</td> <td>120 dpi (ldpi)</td> <td>32MB</td> </tr> <tr> <td>160 dpi (mdpi)</td> <td>48MB</td> </tr> <tr> <td>213 dpi (tvdpi)</td> <td rowspan="2">80MB</td> </tr> <tr> <td>240 dpi (hdpi)</td> </tr> <tr> <td>280 dpi (280dpi)</td> <td>96MB</td> </tr> <tr> <td>320 dpi (xhdpi)</td> <td>128MB</td> </tr> <tr> <td>360 dpi (360dpi)</td> <td>160MB</td> </tr> <tr> <td>400 dpi (400dpi)</td> <td>192MB</td> </tr> <tr> <td>420 dpi (420dpi)</td> <td>228MB</td> </tr> <tr> <td>480 dpi (xxhdpi)</td> <td>256MB</td> </tr> <tr> <td>560 dpi (560dpi)</td> <td>384MB</td> </tr> <tr> <td>640 dpi (xxxhdpi)</td> <td>512MB</td> </tr> <tr> <td rowspan="12">xlarge</td> <td>120 dpi (ldpi)</td> <td>48MB</td> </tr> <tr> <td>160 dpi (mdpi)</td> <td>80MB</td> </tr> <tr> <td>213 dpi (tvdpi)</td> <td rowspan="2">96MB</td> </tr> <tr> <td>240 dpi (hdpi)</td> </tr> <tr> <td>280 dpi (280dpi)</td> <td>144MB</td> </tr> <tr> <td>320 dpi (xhdpi)</td> <td>192MB</td> </tr> <tr> <td>360 dpi (360dpi)</td> <td>240MB</td> </tr> <tr> <td>400 dpi (400dpi)</td> <td>288MB</td> </tr> <tr> <td>420 dpi (420dpi)</td> <td>336MB</td> </tr> <tr> <td>480 dpi (xxhdpi)</td> <td>384MB</td> </tr> <tr> <td>560 dpi (560dpi)</td> <td>576MB</td> </tr> <tr> <td>640 dpi (xxxhdpi)</td> <td>768MB</td> </tr> </table>