1## 3.7\. Runtime Compatibility
2
3Device implementations:
4
5*    [C-0-1] MUST support the full Dalvik Executable (DEX) format
6and [Dalvik bytecode specification and semantics](https://android.googlesource.com/platform/dalvik/).
7
8*    [C-0-2] MUST configure Dalvik runtimes to allocate memory in
9accordance with the upstream Android platform, and as specified by
10the following table. (See [section 7.1.1](#7_1_1_screen_configuration) for
11screen size and screen density definitions.)
12
13*    SHOULD use Android RunTime (ART), the reference upstream
14implementation of the Dalvik Executable Format, and the reference
15implementation’s package management system.
16
17*    SHOULD run fuzz tests under various modes of execution
18and target architectures to assure the stability of the runtime. Refer to
19[JFuzz](https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/)
20and [DexFuzz](https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/)
21in the Android Open Source Project website.
22
23Note that memory values specified below are considered minimum values and
24device implementations MAY allocate more memory per application.
25
26<table>
27 <tr>
28    <th>Screen Layout</th>
29    <th>Screen Density</th>
30    <th>Minimum Application Memory</th>
31 </tr>
32 <tr>
33    <td rowspan="12">Android Watch</td>
34    <td>120 dpi (ldpi)</td>
35    <td rowspan="3">32MB</td>
36 </tr>
37 <tr>
38    <td>160 dpi (mdpi)</td>
39 </tr>
40 <tr>
41    <td>213 dpi (tvdpi)</td>
42 </tr>
43 <tr>
44    <td>240 dpi (hdpi)</td>
45    <td rowspan="2">36MB</td>
46 </tr>
47 <tr>
48    <td>280 dpi (280dpi)</td>
49 </tr>
50 <tr>
51    <td>320 dpi (xhdpi)</td>
52    <td rowspan="2">48MB</td>
53 </tr>
54 <tr>
55    <td>360 dpi (360dpi)</td>
56 </tr>
57 <tr>
58    <td>400 dpi (400dpi)</td>
59    <td>56MB</td>
60 </tr>
61 <tr>
62    <td>420 dpi (420dpi)</td>
63    <td>64MB</td>
64 </tr>
65 <tr>
66    <td>480 dpi (xxhdpi)</td>
67    <td>88MB</td>
68 </tr>
69 <tr>
70    <td>560 dpi (560dpi)</td>
71    <td>112MB</td>
72 </tr>
73 <tr>
74    <td>640 dpi (xxxhdpi)</td>
75    <td>154MB</td>
76 </tr>
77 <tr>
78    <td rowspan="12">small/normal</td>
79    <td>120 dpi (ldpi)</td>
80    <td rowspan="2">32MB</td>
81 </tr>
82 <tr>
83    <td>160 dpi (mdpi)</td>
84 </tr>
85 <tr>
86    <td>213 dpi (tvdpi)</td>
87    <td rowspan="3">48MB</td>
88 </tr>
89 <tr>
90    <td>240 dpi (hdpi)</td>
91 </tr>
92 <tr>
93    <td>280 dpi (280dpi)</td>
94 </tr>
95 <tr>
96    <td>320 dpi (xhdpi)</td>
97    <td rowspan="2">80MB</td>
98 </tr>
99 <tr>
100    <td>360 dpi (360dpi)</td>
101 </tr>
102 <tr>
103    <td>400 dpi (400dpi)</td>
104    <td>96MB</td>
105 </tr>
106 <tr>
107    <td>420 dpi (420dpi)</td>
108    <td>112MB</td>
109 </tr>
110 <tr>
111    <td>480 dpi (xxhdpi)</td>
112    <td>128MB</td>
113 </tr>
114 <tr>
115    <td>560 dpi (560dpi)</td>
116    <td>192MB</td>
117 </tr>
118 <tr>
119    <td>640 dpi (xxxhdpi)</td>
120    <td>256MB</td>
121 </tr>
122 <tr>
123    <td rowspan="12">large</td>
124    <td>120 dpi (ldpi)</td>
125    <td>32MB</td>
126 </tr>
127 <tr>
128    <td>160 dpi (mdpi)</td>
129    <td>48MB</td>
130 </tr>
131 <tr>
132    <td>213 dpi (tvdpi)</td>
133    <td rowspan="2">80MB</td>
134 </tr>
135 <tr>
136    <td>240 dpi (hdpi)</td>
137 </tr>
138 <tr>
139    <td>280 dpi (280dpi)</td>
140    <td>96MB</td>
141 </tr>
142 <tr>
143    <td>320 dpi (xhdpi)</td>
144    <td>128MB</td>
145 </tr>
146 <tr>
147    <td>360 dpi (360dpi)</td>
148    <td>160MB</td>
149 </tr>
150 <tr>
151    <td>400 dpi (400dpi)</td>
152    <td>192MB</td>
153 </tr>
154 <tr>
155    <td>420 dpi (420dpi)</td>
156    <td>228MB</td>
157 </tr>
158 <tr>
159    <td>480 dpi (xxhdpi)</td>
160    <td>256MB</td>
161 </tr>
162 <tr>
163    <td>560 dpi (560dpi)</td>
164    <td>384MB</td>
165 </tr>
166 <tr>
167    <td>640 dpi (xxxhdpi)</td>
168    <td>512MB</td>
169 </tr>
170 <tr>
171    <td rowspan="12">xlarge</td>
172    <td>120 dpi (ldpi)</td>
173    <td>48MB</td>
174 </tr>
175 <tr>
176    <td>160 dpi (mdpi)</td>
177    <td>80MB</td>
178 </tr>
179 <tr>
180    <td>213 dpi (tvdpi)</td>
181    <td rowspan="2">96MB</td>
182 </tr>
183 <tr>
184    <td>240 dpi (hdpi)</td>
185 </tr>
186 <tr>
187    <td>280 dpi (280dpi)</td>
188    <td>144MB</td>
189 </tr>
190 <tr>
191    <td>320 dpi (xhdpi)</td>
192    <td>192MB</td>
193 </tr>
194 <tr>
195    <td>360 dpi (360dpi)</td>
196    <td>240MB</td>
197 </tr>
198 <tr>
199    <td>400 dpi (400dpi)</td>
200    <td>288MB</td>
201 </tr>
202 <tr>
203    <td>420 dpi (420dpi)</td>
204    <td>336MB</td>
205 </tr>
206 <tr>
207    <td>480 dpi (xxhdpi)</td>
208    <td>384MB</td>
209 </tr>
210 <tr>
211    <td>560 dpi (560dpi)</td>
212    <td>576MB</td>
213 </tr>
214 <tr>
215    <td>640 dpi (xxxhdpi)</td>
216    <td>768MB</td>
217 </tr>
218</table>
219