Details
-
Bug
-
Resolution: Done
-
P2: Important
-
Qt Creator 4.7.0-beta1
-
None
-
258360a22c18b01e1f1eab6306da1cac5f3b42dc ced5f8923536a8a3b29abf905c14a34cd600ca50
Description
On startup, the android integration creates kits for all matching Qt versions, and sets the sticky bit on all their KitInformation. This includes the QbsKitInformation. The QbsKitInformation is peculiar in that it leaves its ID string empty. Therefore, when loading the sticky bits, it is omitted (see Kit::Kit(const QVariantMap &data)). Thus, all android-related kits with QbsKitInformation are "changed" every time we start. This causes a kitUpdated() signal to be emittted, which in turn causes the QbsProjectManager to rebuild its internal kit representation from scratch.
Measurements indicate that this amounts to about 10% of all memory allocations and more than 15% of all memory releases during startup.