Ich habe Probleme mit Animationen, die auf vielen Android-Samsung-Handys langsamer werden. Ich habe das Problem verfolgt und es ist zu viel Müllsammlung. Keines der Objekte wird jedoch direkt von meinem Code erstellt.
Dies ist der Stack-Trace vom Allocation Tracker in DDMS.
%Vor%Dies erzeugt Tausende von Rect- und Point-Objekten, wenn der Benutzer den Bildschirm berührt.
Kennt jemand einen Workaround?
Ich ziele nicht auf Samsung-Telefone oder deren und ihre SDKs oder Bibliotheken.
Nun, da kommt ein Designmuster ins Spiel, das wir für eine solche Situation, genannt Fliegengewicht, verwenden. Nicht sicher, ob dies Ihnen hilft, wenn der Client-Code unter Ihrer Kontrolle ist, wenn dies der Fall ist, die neuen Objekte zu verwenden, verwenden Sie das gleiche Objekt, wobei die Eigenschaften des Objekts (z. B. Rect werden x, y-Koordinaten) gespeichert werden client-Objekt in einem Array und rufen Sie die draw-Methode für das Rect-Objekt auf und übergibt die Koordinaten des rect-Objekts, das im Array im Client gespeichert ist.
Tags und Links android garbage-collection performance samsung-mobile