Ich versuche, Code mit proguard zu verschleiern, also habe ich minify
in Release-Build-Typen aktiviert:
Aber wenn ich "Release apk" erzeuge und nachdem ich es installiert habe, läuft die Anwendung langsamer (lag). Warum passiert das, wenn minify aktiviert ist? Das sind meine Abhängigkeiten:
%Vor% Das ist mein proguard-android.txt
Ich habe versucht hinzuzufügen:
%Vor%Meine Bibliotheksabhängigkeiten:
%Vor% Obwohl die Kommentare in proguard-android.txt
einige Gründe angeben, bin ich überrascht, dass Flags bestimmte Optimierungen deaktivieren, da die standardmäßig automatisch generierte proguard-android.txt
-Datei keine solchen Flags enthält, wenn ein neues Android-Projekt erstellt wird. Entfernen Sie die folgenden Zeilen und prüfen Sie, ob es eine Verbesserung gibt:
Der Rest der Datei scheint in Ordnung, obwohl ich nicht alle verwendeten Bibliotheken ausgecheckt habe, aber ich habe ein paar überprüft und festgestellt, dass Sie die notwendigen Ausnahmen für sie hinzugefügt haben.
Wenn das nicht geklappt hat, müssen Sie sicherstellen, dass Ausnahmen für die Bibliotheken, die verwendet werden, korrekt hinzugefügt werden, und auch proguard-android.txt
in Ihrem library
Modul überprüfen, da es in den Abhängigkeiten referenziert wird .
Java läuft beim ersten Mal immer langsam. Weil es geladen und interpretiert werden muss. Führen Sie den Test erneut aus. Schau dir diese Frage an.
Java-Programm läuft langsamer, wenn Code, der nie ausgeführt wird, auskommentiert ist
ProGuard verursacht keine Verzögerung der Anwendung zur Laufzeit. Es kann aufgrund einer Ihrer Bibliothek in Gradle-Datei enthalten sein.
Ich würde dringend vorschlagen, dass Sie Android Studio Profiler verwenden, um zu sehen, was und wie sich die App verhält. Darunter verstehe ich Speicher, CPU, Netzwerk usw. Speichern Sie die Ergebnisse zum Vergleich und versuchen Sie dann die gleiche App-Version nur mit Änderungen progard. Es ist sehr unwahrscheinlich, dass der Performance-Hit von proguard kommt. Wenn möglich, geben Sie die Ergebnisse und Ihre Beobachtungen hier zur weiteren Analyse weiter. Beachten Sie auch, dass es auch einen Unterschied beim Build-Typ gibt. Haben Sie einen anderen Code in den Debug / Release-Varianten?
Tags und Links java android minify android-proguard