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="16">Android Watch</td>
34    <td>120 dpi (ldpi)</td>
35    <td rowspan="6">32MB</td>
36 </tr>
37 <tr>
38    <td>140 dpi (140dpi)</td>
39 </tr>
40 <tr>
41    <td>160 dpi (mdpi)</td>
42 </tr>
43 <tr>
44    <td>180 dpi (180dpi)</td>
45 </tr>
46 <tr>
47    <td>200 dpi (200dpi)</td>
48 </tr>
49 <tr>
50    <td>213 dpi (tvdpi)</td>
51 </tr>
52 <tr>
53    <td>220 dpi (220dpi)</td>
54    <td rowspan="3">36MB</td>
55 </tr>
56 <tr>
57    <td>240 dpi (hdpi)</td>
58 </tr>
59 <tr>
60    <td>280 dpi (280dpi)</td>
61 </tr>
62 <tr>
63    <td>320 dpi (xhdpi)</td>
64    <td rowspan="2">48MB</td>
65 </tr>
66 <tr>
67    <td>360 dpi (360dpi)</td>
68 </tr>
69 <tr>
70    <td>400 dpi (400dpi)</td>
71    <td>56MB</td>
72 </tr>
73 <tr>
74    <td>420 dpi (420dpi)</td>
75    <td>64MB</td>
76 </tr>
77 <tr>
78    <td>480 dpi (xxhdpi)</td>
79    <td>88MB</td>
80 </tr>
81 <tr>
82    <td>560 dpi (560dpi)</td>
83    <td>112MB</td>
84 </tr>
85 <tr>
86    <td>640 dpi (xxxhdpi)</td>
87    <td>154MB</td>
88 </tr>
89 <tr>
90    <td rowspan="16">small/normal</td>
91    <td>120 dpi (ldpi)</td>
92    <td rowspan="3">32MB</td>
93 </tr>
94 <tr>
95    <td>140 dpi (140dpi)</td>
96 </tr>
97 <tr>
98    <td>160 dpi (mdpi)</td>
99 </tr>
100 <tr>
101    <td>180 dpi (180dpi)</td>
102    <td rowspan="6">48MB</td>
103 </tr>
104 <tr>
105    <td>200 dpi (200dpi)</td>
106 </tr>
107 <tr>
108    <td>213 dpi (tvdpi)</td>
109 </tr>
110 <tr>
111    <td>220 dpi (220dpi)</td>
112 </tr>
113 <tr>
114    <td>240 dpi (hdpi)</td>
115 </tr>
116 <tr>
117    <td>280 dpi (280dpi)</td>
118 </tr>
119 <tr>
120    <td>320 dpi (xhdpi)</td>
121    <td rowspan="2">80MB</td>
122 </tr>
123 <tr>
124    <td>360 dpi (360dpi)</td>
125 </tr>
126 <tr>
127    <td>400 dpi (400dpi)</td>
128    <td>96MB</td>
129 </tr>
130 <tr>
131    <td>420 dpi (420dpi)</td>
132    <td>112MB</td>
133 </tr>
134 <tr>
135    <td>480 dpi (xxhdpi)</td>
136    <td>128MB</td>
137 </tr>
138 <tr>
139    <td>560 dpi (560dpi)</td>
140    <td>192MB</td>
141 </tr>
142 <tr>
143    <td>640 dpi (xxxhdpi)</td>
144    <td>256MB</td>
145 </tr>
146 <tr>
147    <td rowspan="16">large</td>
148    <td>120 dpi (ldpi)</td>
149    <td>32MB</td>
150 </tr>
151 <tr>
152    <td>140 dpi (140dpi)</td>
153    <td rowspan="2">48MB</td>
154 </tr>
155 <tr>
156    <td>160 dpi (mdpi)</td>
157 </tr>
158 <tr>
159    <td>180 dpi (180dpi)</td>
160    <td rowspan="5">80MB</td>
161 </tr>
162 <tr>
163    <td>200 dpi (200dpi)</td>
164 </tr>
165 <tr>
166    <td>213 dpi (tvdpi)</td>
167 </tr>
168 <tr>
169    <td>220 dpi (220dpi)</td>
170 </tr>
171 <tr>
172    <td>240 dpi (hdpi)</td>
173 </tr>
174 <tr>
175    <td>280 dpi (280dpi)</td>
176    <td>96MB</td>
177 </tr>
178 <tr>
179    <td>320 dpi (xhdpi)</td>
180    <td>128MB</td>
181 </tr>
182 <tr>
183    <td>360 dpi (360dpi)</td>
184    <td>160MB</td>
185 </tr>
186 <tr>
187    <td>400 dpi (400dpi)</td>
188    <td>192MB</td>
189 </tr>
190 <tr>
191    <td>420 dpi (420dpi)</td>
192    <td>228MB</td>
193 </tr>
194 <tr>
195    <td>480 dpi (xxhdpi)</td>
196    <td>256MB</td>
197 </tr>
198 <tr>
199    <td>560 dpi (560dpi)</td>
200    <td>384MB</td>
201 </tr>
202 <tr>
203    <td>640 dpi (xxxhdpi)</td>
204    <td>512MB</td>
205 </tr>
206 <tr>
207    <td rowspan="16">xlarge</td>
208    <td>120 dpi (ldpi)</td>
209    <td>48MB</td>
210 </tr>
211 <tr>
212    <td>140 dpi (140dpi)</td>
213    <td rowspan="2">80MB</td>
214 </tr>
215 <tr>
216    <td>160 dpi (mdpi)</td>
217 </tr>
218 <tr>
219    <td>180 dpi (180dpi)</td>
220    <td rowspan="5">96MB</td>
221 </tr>
222 <tr>
223    <td>200 dpi (200dpi)</td>
224 </tr>
225 <tr>
226    <td>213 dpi (tvdpi)</td>
227 </tr>
228 <tr>
229    <td>220 dpi (220dpi)</td>
230 </tr>
231 <tr>
232    <td>240 dpi (hdpi)</td>
233 </tr>
234 <tr>
235    <td>280 dpi (280dpi)</td>
236    <td>144MB</td>
237 </tr>
238 <tr>
239    <td>320 dpi (xhdpi)</td>
240    <td>192MB</td>
241 </tr>
242 <tr>
243    <td>360 dpi (360dpi)</td>
244    <td>240MB</td>
245 </tr>
246 <tr>
247    <td>400 dpi (400dpi)</td>
248    <td>288MB</td>
249 </tr>
250 <tr>
251    <td>420 dpi (420dpi)</td>
252    <td>336MB</td>
253 </tr>
254 <tr>
255    <td>480 dpi (xxhdpi)</td>
256    <td>384MB</td>
257 </tr>
258 <tr>
259    <td>560 dpi (560dpi)</td>
260    <td>576MB</td>
261 </tr>
262 <tr>
263    <td>640 dpi (xxxhdpi)</td>
264    <td>768MB</td>
265 </tr>
266</table>
267