6 ms·
Is this limitation going away (or otherwise obviated) by ART?
by michaelcampbell 12y ago
Is this limitation going away (or otherwise obviated) by ART?
- izacus 12y agoNo it's not - the limitation is part of DEX file format (it only has 16-bit method counter). ART is a runtime which runs these DEX files so it can't help there. To change this, Google would have to update the file format and somehow ensure dual format compatibility when running.
- myko 12y agoYes, but not just yet: https://plus.google.com/107130354111162483072/posts/VEy3JChn3N2 https://plus.google.com/107130354111162483072/posts/VEy3JChn... Mentioned at about 27:55 in this podcast where a member of the ART team is interviewed: http://androidbackstage.blogspot.se/2014/08/android-developers-backstage-episode-11.html?m=1 http://androidbackstage.blogspot.se/2014/08/android-develope...
- masklinn 12y agoYou're talking about a similar but different issue: there's a fixed-size meta-information buffer, if you go above you crash. Increase the size of the buffer and you're good to go (which is what more recent android versions have done), the new ART might make the buffer dynamic instead of static (no idea). The 65k method problem is a problem of the dex format itself, because method-invocation instructions take "the method" as a 16-bit index, it can't be fixed by the runtime, the dex format has to be changed to fix it (either by adding new opcodes or by changing existing ones).
- myko 12y agoI think you are mistaken - in the audio: http://storage.googleapis.com/androiddevelopers/android_developers_backstage/Android%20Developers%20Backstage%20Ep%2011%20ART%2C%20pART%202%20%28Trash%20Talk%29.mp3 http://storage.googleapis.com/androiddevelopers/android_deve... Around 27:55 they discuss that they plan on lifting the limit. Indeed modifying the dex format is talked about and it is mentioned that it is a future goal. They also speak about multidex, the interim backwards compatible fix which does not require modifying the dex format (but uses a hack) and will make modifying the dex format easier in the future.
- masklinn 12y ago> I think you are mistaken The question was whether ART would fix the issue. The answer is not "yes but not yet", it's "no" because the runtime has no bearing on the issue.
- on_and_off 12y agoJust so you know, your link lead to a 404
- mh- 12y agothe article linked in parent addresses that directly: > And yes, you got it right. This issue won’t disappear even when Android will switch to the new ART runtime, unless Google decides to “fix” the DEX format or ditch it for another one.