2014-11-30 9 views
9

Mam problemy z animacjami spowalniającymi na wielu telefonach z Androidem Samsung. Zidentyfikowaliśmy problem i jest to zbyt dużo zbierania śmieci. Jednak żaden z obiektów nie jest tworzony bezpośrednio przez mój kod.Jak zatrzymać nadmierne tworzenie obiektów na telefonach Samsung?

To jest ślad stosu z modułu śledzenia alokacji w DDMS.

at com.samsung.android.multiwindow.MultiWindowStyle$1.createFromParcel(MultiWindowStyle.java:493) 
    at com.samsung.android.multiwindow.MultiWindowStyle$1.createFromParcel(MultiWindowStyle.java:491) 
    at com.samsung.android.multiwindow.IMultiWindowFacade$Stub$Proxy.getMultiWindowStyle(IMultiWindowFacade.java:499) 
    at com.samsung.android.multiwindow.MultiWindowFacade.getMultiWindowStyle(MultiWindowFacade.java:81) 
    at android.app.Activity.getMultiWindowStyle(Activity.java:4681) 
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1688)  
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1264) 
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6614)  
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813) 
    at android.view.Choreographer.doCallbacks(Choreographer.java:613) 
    at android.view.Choreographer.doFrame(Choreographer.java:583) 
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799) 
    at android.os.Handler.handleCallback(Handler.java:733)  
    at android.os.Handler.dispatchMessage(Handler.java:95)  
    at android.os.Looper.loop(Looper.java:146)  
    at android.app.ActivityThread.main(ActivityThread.java:5678) 

Powoduje utworzenie tysięcy obiektów Rect i Point, gdy użytkownik dotknie ekranu.

Czy ktoś wie o obejściu?

Nie jestem kierowany na telefony Samsung ani używanie ich bibliotek SDK lub ich bibliotek.

+2

Wygląda na to, że aktywowano funkcję obsługi wielu okien (Multitasking) firmy Samsung. Może wymusisz na swojej aplikacji, aby urządzenie Samsung wyłączyło obsługę wielu okien dla Twojej aplikacji. Nie odpowiadaj na mnie .. Nie jestem zaznajomiony z funkcją Samsung Multi Window. zobacz http://stackoverflow.com/questions/14111052/adding-multi-window-support-to-android-application – ecle

+1

@ theJosh, Czy dowiedziałeś się czegoś więcej o tym problemie? – Tenfour04

+0

@ Tenfour04 Nie Nie jestem bliżej. Samsung jest moją nemezis. – theJosh

Odpowiedz

0

Cóż, w grę wchodzi wzór, który wykorzystujemy do takiej sytuacji, zwany wzorem muszek. Nie wiem, czy to ci pomoże, jeśli kod klienta jest pod twoją kontrolą, jeśli tak, to raczej czyni nowe obiekty, używa tego samego obiektu, z właściwościami obiektu (na przykład Rect będzie miał współrzędne x, y) przechowywanymi w obiekt klienta w tablicy i wywołaj metodę rysowania na obiekcie Rect, przekazując współrzędne obiektu rect przechowywanego w tablicy w kliencie.

Powiązane problemy