Holen Sie sich eine Link-Map, oder verwenden Sie dumpbin
um eine Liste der Symbole und Größen zu erhalten.
Wahrscheinlich werden viele Dinge hineingezogen, die Sie nicht unbedingt brauchen.
ADDED: Haben Sie eine zufriedenstellende Antwort erhalten? Mir ist klar, dass es zwei Arten gibt, wie Menschen an solche Probleme herangehen:
- Nehmen Sie Messungen vor, bevor sie etwas tun.
- Finden Sie einfach etwas Großes, das sie nicht brauchen, reißen Sie es heraus und wiederholen Sie es, bis sie es nicht mehr können.
Ich persönlich bevorzuge Letzteres, weil ich damit schneller zu Ergebnissen komme.
Sie sagen, die App sei 4 MB groß. Nehmen wir an, die tatsächliche erforderliche Größe beträgt 1 MB (oder eine andere Größe). Das bedeutet, wenn Sie eine Routine zufällig aus der Map-Datei auswählen, ist die Wahrscheinlichkeit, dass es sich um etwas handelt, das Sie nicht benötigen, 75 %. Finden Sie heraus, was der Grund dafür ist, dass sie enthalten ist, und prüfen Sie, ob Sie sie wirklich brauchen.
In dem von Ihnen genannten Beispiel haben Sie eine Klasse gesehen, die geräteunabhängige Bitmaps umschließt. Sie könnten Instanzen dieser Klasse in Ihrer Anwendung finden und sie möglicherweise durch einfache WIN32-Bitmaps ersetzen. Es wäre weniger schön, aber sparen Unmengen von app Größe.
Dann machen Sie weiter. Jedes große Stück, das Sie loswerden, führt dazu, dass die verbleibenden Stücke einen größeren Anteil der App einnehmen, weil die App geschrumpft ist, die Stücke aber nicht. Das macht es einfacher, sie in der Map-Datei zu finden.
0 Stimmen
Für den Fall, dass sich jemand wundert, stellte sich heraus, dass Flite (eine Text-to-Speech-Engine) mit 1,8 MB IIRC die bei weitem größte Komponente der 4 MB war, was ich durch Entfernen herausfand.