0

Sorry if the title is confusing, I do not know how to describe it better. Perhaps an example will help you understand:

When I download a 1GB file (it's an example) the appstore I notice that the download is quite fast, or I do not down 1GB, the application gets 1GB only after installation.

So I was curious, the application before being installer is:

  • Compressed source and compiled in the installation

or

  • Pre-compiled and compressed

Would any of these? Or is it something else?

3
  • It would be much better is you gave an actual example, the name of the application, not just a hypothetical. Jun 10 '15 at 18:25
  • @user3439894 I did not know that each individual application had a different compression format and distribution. Jun 10 '15 at 18:36
  • A third option, though not all apps will have this, is that the installer detects machine type and downloads secondary content at install time. A way to test this would be to turn off networking during install. Again, not all apps do this, but for completeness, this could explain SOME installs. Most apps would NOT do source, both because you want to obscure your work, and also you can't rely on all users to have XCode. Jun 10 '15 at 18:56
1

Apple stores their applications in what are essentially ZIP files, with a different extension. You could replace the ".ipa" on an iPhone app for example with ".zip" and extract its contents. So yes, they do use compression.

7
  • Thanks :) .They are compiled at install time? Why the download size is different from the size of the installed application (usually quite different, it seems that is almost half)? Jun 10 '15 at 18:38
  • Hmm... You're right. I hadn't noticed that till now. That is pretty strange. That size isn't really helpful if it shows us half of what the app will end up being... The apps aren't compiled from source though, they're stored as compressed app bundles and distributed in that form. Jun 10 '15 at 18:42
  • I did a download from itunes rather than the iphone, the download was quick, it seems that is not the size that changes must be something else that makes downloading so fast, thanks again. Jun 10 '15 at 18:57
  • 1
    @GuilhermeNascimento the "compile at install time" doesn't explain iOS or MacOSX apps, but I think new Android OS installs do this. Take the machine agnostic byte code, run it through the java (err, darvik) compiler on the device for native instructions. This will change download vs install sizes. Again, neither iOS nor MacOSX do this. Jun 10 '15 at 19:13
  • 1
    @GuilhermeNascimento iOS devices may have either a 32 bit CPU or a 64 bit ARM based, Apple designed CPU. Though the 32 bit code may run on 64 bit, 64 bit code will not run on 32 bit machines. I think you can have an iOS "universal binary" with code sections for 32 and 64 bit CPUs - this is kind of what Apple did when going from Motorola 68K to PowerPC. Apple also just announced in iOS9 to trim unused data and code from binaries, so that you'll save space on the device. Jun 10 '15 at 22:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .