Saurik explains why Cydia must reload packages every time it’s opened

Have you ever wondered why Cydia has to perform the ‘loading packages’ step every time you open it up? Well reddit user indochris609 did, and decided to take his question to the reddit jailbreak forum.

Dozens of users responded to the query, including Cydia’s creator, Saurik. And as usual, the hacker/developer’s explanation of the topic at hand is both interesting and informative…

“So, the “Reloading Data” step is something that can be made faster (and often is: new releases of Cydia often improve the performance of Reloading Data, and it is drastically improved when Apple releases new devices; on the new A5 CPU that step is almost pleasant).

However, the part where it is downloading packages from third party servers is a different story: Cydia, unlike the App Store (or almost any similar service), stores the entire package catalog locally. This is why it can (quite quickly, in fact) render an insanely long table with all packages in it that you can just fling your way through, while the App Store shows you 25 packages at a time with a slow “load more” button.

However, this means that it actually has to keep packages locally, and has to keep their records up to date. From a “cold start”, downloading the package catalog is something like three megabytes, compressed (totaled from BigBoss, ModMyi, and ZodTTD).”

Saurik goes on to explain that Cydia must download the package catalog on every load to ensure that users will automatically see all of the latest uploaded packages and updates. There is, however, a 15 minute window after Cydia performs this task where it won’t automatically download the catalog upon launch.

Saurik’s entire response to the aforementioned question is worth reading if you have the time. It’ll remind you why he’s one of the most recognized figures in the jailbreak community, and why Cydia is still the number one store for jailbreakers.