• 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.

  • liquidparasyte@pawb.social
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 months ago

    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

    • henfredemars@infosec.pubOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      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.

    • tyler@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      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.

  • MaXimus421@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    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?

      • MaXimus421@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months ago

        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.

  • ilinamorato@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    Or we could give up on native apps and just use a browser for everything. In a lot of ways I wish we would.

      • ilinamorato@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        4 months ago

        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.

        • catloaf@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          4 months ago

          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.