Does the Android ART runtime have the same method limit limitations as Dalvik?

The issue is not with the Dalvik runtime nor the DEX file format, but with the current set of Dalvik instructions. Specifically, the various method invocation methods, which look like this: invoke-kind {vC, vD, vE, vF, vG}, meth@BBBB B: method reference index (16 bits) You can reference a very large number of methods in a … Read more

What are the ‘shadow$_klass_’ and ‘shadow$_monitor_’ variables for in java.lang.Object?

They are indeed connected to GC. They seem to have been added in order to support Brooks pointers. I found some information on Brooks pointers here: The idea is that each object on the heap has one additional reference field. This field either points to the object itself, or, as soon as the object gets … Read more