I disagree. Code is TINY. It's resources (images, sound, 3D-objects) which are big. Even with workarounds, you wouldn't even notice the difference for code size. Only resources that take up significant space.Also an app that is written to work across several generations of OSes and/or devices will probably be larger just because it has so much alternative code to allow that very flexibility.
--Patrick
I disagree with your disagreement. All it takes is "we have to make this app both 32 and 64 bit compatible" and you've almost doubled your code size right there. As far as resources go, having to carry asset bundles to support multiple screen sizes, while technically not code still fits my original assertion. I think you may be fixating on my use of the word "code" to mean "only the executable portion" when in fact I was referring to any asset that is part of the app, not merely the executables.I disagree. Code is TINY. It's resources (images, sound, 3D-objects) which are big. Even with workarounds, you wouldn't even notice the difference for code size. Only resources that take up significant space.
Dude, my current company's codebase is between 300k and 400k lines (I just did a count), and compiled takes up ~12MB. The SOURCE FILE size uncompressed is less than 15MB.I disagree. Code is TINY. It's resources (images, sound, 3D-objects) which are big. Even with workarounds, you wouldn't even notice the difference for code size. Only resources that take up significant space.
Umm, no you don't. You set a define in one spot, and a few alternates here and there as needed (the fewer places the better). If you have to maintain two entire codebases for that, you are completely screwed."we have to make this app both 32 and 64 bit compatible" and you've almost doubled your code size right there."
That wouldn't change between many versions of android, just the number of aspect ratios and other things to change per-device. But even then, you shouldn't have an insane number of them to make things work. But I'd target that as the source of the problems most of the time.As far as resources go, having to carry asset bundles to support multiple screen sizes, while technically not code still fits my original assertion.
Then use "assets" or "resources." "Code" is something executed and/or compiled. Hell, I don't consider blocks of text to be code either. That's also resources.I think you may be fixating on my use of the word "code" to mean "only the executable portion" when in fact I was referring to any asset that is part of the app, not merely the executables.
Take my word on it as a Professional working with code all the time: bloat isn't from code, it's assets/resources being duplicated and organized in a crappy way, not 32/64 bit, or alternative code paths for different Android versions. That's a trivial amount of difference. The only applications where code size matters is in embedded stuff where you have 4k of ROM and that's ALL, but that really doesn't happen anymore with how cheap memory/storage is these days. That's more "history of computing" stuff for 99.99% of software.Because if you want to get technical, even though I know a lot of stuff, I'm still just a layman, and will therefore describe things as such.
It's one thing to "bring the hammer," and quite another to educate. If it's indeed as you say, then it should be easy to explain with, "That's a common misconception, and here's why" rather than just saying, "WRONG!" especially for a subject where you're so steeped in it that it might be obvious for you, but not so much for anyone else. And I freely admit this is something I'm not perfect about, either.Sorry for "bringing the hammer" down on this one so hard Patrick, but it's a mistaken impression that "gets" to me every once in a while. You just happened to put that assertion out here.
One cause of this is "resource rot" over time. The best way I have to illustrate that is the "Hot Coffee" mod for GTA that had all the controversy. People wondered why it was still "in the game files" even if it was disabled? The short answer is this: it's safer. It's often difficult to analyze your product to tell what resources CAN be removed, and/or aren't needed. Thus if you have a lot (thousands, or more) of resources, disabling access to them is better than removing them, as it's always possible "somewhere" in the codebase that they're still used by another section. More advanced analysis (and testing) tools can help with this, but there's always the "feeling" that something is going to break because you pulled something out. Safer to just leave everything in, then you can't get a "missing asset" problem anywhere.I suspect the discussion is getting a wee bit technical. The primary issue is the final app size, the apk for Android, the ipa for iOS. This includes resources and assets, and while some code bases are straightforward enough that supporting a variety of devices doesn't incur a penalty, there are far too many apps where it does.
I'll agree with this. We have a phone app that we wrote in Cordova and use PhoneGap Build to make executables for (since one codebase will translate to both android and ios in a single build pass). Old version of PGB let us get away with making one icon and one splash screen, and the code would resize as needed. After an upgrade in the Phonegap CLI to be more in line with apple specs, we were forced to provide a different icon file for every possible IOS device. Our compiled code went from 700k to 2 megs. Just from icons and splash screens.Take my word on it as a Professional working with code all the time: bloat isn't from code, it's assets/resources being duplicated and organized in a crappy way, not 32/64 bit, or alternative code paths for different Android versions.
https://www.howtogeek.com/114667/ho...y-default-move-almost-any-app-to-the-sd-card/A question - how the heck do you load an app onto a SD card instead of the main memory?
Depends on the version of Android. I think they stopped this on recent versions, and instead you can add an SD card to main storage somehow. I'm not really sure since I haven't done it myself, and they may have stopped allowing even that (since most SD cards are a lot slower than the flash memory used in phones).A question - how the heck do you load an app onto a SD card instead of the main memory?