In the past I've been a part of many message boards where developers have complained about receiving 1* ratings due to lack of ART compatibility and understood where they were coming from. Developers shouldn't need to modify their code at all (most of them, more on the later) in order to be compatible with ART once ART becomes the standard.
Things hage changed now however as recent commits show that Google has now deleted all libdvm (DALVIK) files from AOSP source. This is as much of a red flag as any for developers because if their apps are still not working with the latest updated ART runtime then they need to seriously begin looking through their code.
As a developer myself I can tell you that ART is far less forgiving when you comes to bad coding habits and poorly written code and if issues are still persisting there's a good chance there's something in the code causing the issues. With out said ART as far as we know isn't in release mode yet so there's still a shot that there's something going on with the runtime itself..
An example is the Facebook app. I know it has caused many people yo enter into a bootloop after installing it. Now it's installable and seems to begin to load juwt fine but then hangs at the splash screen. Considering that Messenger app is working fine, and that the Facebook developers have had plenty of time optimizing the their code (early to mid Facebook releases were horrible on battery life) and I'd expect the Facrbook app to launch just fine, and it almost does. Maybe if I tried it a few times it might open..who knows. This seems like an ART issuez but then again which knows. All apps that also allow you to log into Facebook (such as many games) will also become nonrespsondent if you attempt to log in...at least the ones I've briefly tried (Crazy Taxi for one).
That could be an ART runtime issue still, or it could be caused by what I mentioned I would get into later. Besides poorly coded apps, the other only reason app devs will have to edit their source is if they rely on old DALVIK runtime hacks in order to accomplish something. Like I said, ART is less forgiving. Perhaps the Facebook API (particularly seems to be the login procedure) relies on a DALVIK hack or similar?
Other than Facebook (which will work soon enough and might very well be working for others, I'm running a G2 with a G3 ROM), I haven't ran into other issues. Chaos Rings 2, a Square Enix game (and pretty awesome too if you like their games) didn't work at first and just wouldn't load. After a reboot it works fine. Unsure about my FF games by SQ because I haven't downloaded them to test yet. I know previously they haven't been working so I'll probably test them today.
I did have to remove Xposed framework of course but that was more of a blessing. That's the lazy way developers and modders to get what they want. To others it's the only way they know how which is cool, but luckily I only used it for modding my navigation bar and my status bar which is easily done with apktool mobile.
I also used the FakeWifi module for Modern Combat 5 because Gameloft doesn't believe that anyone uses unlimited data anymore and that everyone had access to WiFi. Well apktool was used again to edit the smali and return true in the connectivity calls (0x1). Finally In had root cloak for apps that won't run while rooted, but I don't often use any if these apps and if/when I do I'm sure it won't take too long to find the appropriate method in the source in set it to return 0x0 (false, if example the method is named check root() ).
I wish the Xposed dev would release the updated framework that he claims he has that is ART compatible. I understand he wants to wait until ART is stable and the standard, but the latest ART runtime has been nothing short of stable and there no longer is any DALVIK support in AOSP...Not everyone knows how to decompile and mod what they need and it's an awesome tool. Oh yeah...removing the ads from YouTube..I used a module for that as well, but now I just added the as URLs to the host file (using adaway since the host is too large to even edit using the phone, at least on all the editors I've tried).
I have encountered one anomoly though. I often use benchmark tools such as LinPack and the CPU test in Quadrant before and after making cpu/kernel changes to get an impression on how much of an impact my changes have made. I don't use benchmark apps to bench certain ROMs or devices as that's a pointless endeavor.
Benchmark apps ARE useful though in determining the differences before and after making certain modifications. Here I was benching the differences in CPU performance between DALVIK and ART, and the two benchmarks I listed are good choices because they don't rely on the NDK (native development kit...ART runtime compiles everything ahead of time into native code so you won't see any changes most of the time and sometimes ART might bench lower here).
My test was set up so that for both DALVIK and ART mode, I used the same kernel settings and kept all other settings constant. I would test after a fresh reboot after letting Android settle in for about 5 minutes. Tests made by others have already shown that in this category ART should see a fairly significant (at least noticeable) increase over DALVIK, with stating gains of up to 100%. The benchmark app for the 100% claim wasn't given, but this information was gathered from reliable sources and should be the case.
I ran Linpack 10 times in each mode and my results were as follows (I'm just reporting the ranges for each instead of a single average just so the fluctuation range can be seen). In DALVIK I was seeing scores of 875-1050 megaflops. With ART I was getting 250-500 megaflops. The actual scores themselves don't matter if you attempt this test yourself. If you have a G2 and score only 700 megaflops that doesn't mean jack..I was running in a fairly high performance mode...we aren't benching actual devices or ROMs but what's important to us is the differences between our two means and not the values themselves.
ART should have given us higher figures (higher is better when comparing megaflops) given past tests done by others. This has me scratching my head a bit because in no way does the OS feel slower at all, in fact it feels like an OS should..smooth and fluid and any lag I previously saw is basically gone (G2 lags very little anyways). I can also report that I'm running at cooler temperatures than before suggesting that less work is being done by the CPU which is what I'd expect. And as expected I'm not seeing ant gains in performance in NDK reliant apps such as 3DMark (Icestorm). In fact the score may have dropped a little or it could have just been due to natural deviation. I didn't run the teat enough to determine which...just wanted to be sure everything was on par.
If anyone else with a G2 or a G3 wishes to repeat this experiment and add their data to it, it would be most appreciated. Of course the ROM you're running will have a factor because the ROM will determine which version of the libart.so runtime you're running. The CPU test in Quadrant is also a good non NDK test to run. I have ART scores for it but forgot to run it before switching and don't feel like waiting 20 minutes to convert everything back to ART after switching back to DALVIK. Not today at a least
I'm not quite sure what's happening with Linpack because that's inconsistent with others' finding. My Quadrant CPU score did seem quite high from memory though. *shrugs*
That's been my experience with ART. Long post indeed but ART is new, it is replacing DALVIK, and the more information the better. You'd also be amazed at some of the tech illiterate "devs" on XDA. Not naming anyone particularly but at least the goods ones stand out from the bad . and don't always go by just one single source or information over there unless you already have confidence in the developer. Xposed framework has also brought out a lot of jank from people whipping up quick mods, offering them for free, only to find that most of the features you needed you have to make an IAP for. If you run across these, report them to XDA mods so they can investigate and then shut the thread down. XDA is meant to be an open developers forum,... Not a marketing center for devs (no matter how good or bad) to sell their apps. Donations are always accepted and is the practice. Not "devs" accepting donations as well as cash from IAPs. Help keep the site the way it's designed.
Lol sorry bout the rant. Just a lot of that going on...
(VS980 BTW, Verizon G2..not a G3...)