this post was submitted on 10 Dec 2023
246 points (87.0% liked)

AssholeDesign

7544 readers
2 users here now

This is a community for designs specifically crafted to make the experience worse for the user. This can be due to greed, apathy, laziness or just downright scumbaggery.

founded 1 year ago
MODERATORS
 

there's just this vague recommendation to "turn it off in settings." no link, no toggle, nothing.

had to hunt for the relevant setting in the app(even their settings menu is down under in the list when you tap on your avatar.


image transcription:

a screenshot of Google play store which has a popup that can only be disabled by pressing OK button at the bottom.
the popup contains the following text:

Google is optimising app installs with your help
Google Play makes apps faster to install, open and run based on what people are using most. The first time that you open an app after installing, Google notes which parts of the app you use. When enough people do this, your apps will install faster. App install optimisation is automatically turned on, but you can turn it off in settings. Learn more

you are viewing a single comment's thread
view the rest of the comments
[โ€“] space@lemmy.dbzer0.com 1 points 11 months ago (1 children)

While not all ARMs are the same, I'm pretty sure there are certain configurations that are more common. Why not just provide binaries for those?

[โ€“] henfredemars@infosec.pub 1 points 11 months ago

You can, but that could be to the detriment of less common configurations. That's a valid solution that strikes a different balance.

You may also wish to consider that Android apps can generate and execute code at runtime. It's perfectly valid to download or generate more Java bytecode after the app was installed. You would still need a compiler on the device to handle apps that do this efficiently.

I also left out some more specific information to prevent my reply from being even longer, but the binary code your device generates actually adapts to your specific usage as well as the general usage. The profile you get from Play is just a starting point. Shipped binary code isn't generally very flexible. If you like to use an app in a way that makes us runtime compile code that we thought wasn't important before, your device actually just adds this information to the profile and recompiles when the device isn't being used. That means you get a personal level of performance optimization depending on your personal usage.

It's not wrong to ship a slightly less optimal, fully compiled binary. I just don't think that would work as well. It would be a lot simpler though.