- Android 16 now supports cloud compilation, a new feature that could speed up new app installs.
- The goal of cloud compilation is to avoid running the dex2oat tool during app installations by offloading compilation to the cloud.
- Dex2oat takes an APK file and generates app artifact files that the Android Runtime loads. Depending on the device and the amount of code to compile, this could take some time.
It looks like the ART (Android Runtime) JIT is playing an increasingly less important role with time.
Friendly reminder that the cloud is just someone else’s computer.
Fondly remember Google’s back and forth rocking with just-in-time and ahead-of-time compilation every other Android version with Dalvik/ART. Guess it’s been a while since they’ve rocked to AOT
deleted by creator
Compiled isn’t a property of a language but it describes the implementation. You can compile Python for example to native code using Cython, but it will need a Python runtime that is not much less work than running the code through the interpreter. There are C interpreters. Further, Java is compiled to native code and is being used in this fashion right now. You can also ship native C, C++, or Go binaries by using the Android Native Development Kit and that’s exactly what most Android games do for performance.
Should Android not have started with Java? Even looking back, it’s hard to say. Java helped Android get started quickly using a language many developers already knew how to use. We might have been discussing something other than Android if that wasn’t the case. I cannot know.
You can compile Java and Kotlin to native if you want. That’s not the issue here. Like OP responded to you, it’s not a property of the language but the implementation.
Without actually reading anything other than the title of the article, which I should prolly do, I’m gonna make this comment anyway.
What apps are you installing that take more than 30 secs?
deleted by creator
Well that’s a issue, for sure.
I absolutely NEVER allow Google Play to just update my apps when it wants to. That’s insane. That would be constantly updating all day everyday. There is no need for daily software updates. There is no need for weekly updates. It’s borderline ridiculous.
One can argue “but muh security” all they like and go right ahead and do it if you need that validation in your life but when 10 apps are in que for an update 24/7 around the clock it’s almost suspicious.
deleted by creator
Or we could give up on native apps and just use a browser for everything. In a lot of ways I wish we would.
That’s not going to work too well when you’re offline
Oh no? We’ve had browser storage and cached web apps for twenty years now. The technology exists and could be improved, if we stopped forcing everything to be a native app.
I mean, honestly, most “native” apps are webviews displaying cached content. Clearly we can make it happen, it just needs to be more discoverable and have smoother integration.
So you’re just reimplementing the current model but with the extra layer of a browser in between. Installing a PWA is the same as installing a native app, except instead of running it directly you also have to have a browser installed to run it. It’s adding a significant amount of complexity for no good reason. Browsers are huge attack targets.