如何在三星手机上停止过多的对象创build?

我有很多Android手机上的animation放缓问题。 我跟踪了这​​个问题,垃圾收集太多了。 但是,没有任何对象是由我的代码直接创build的。

这是来自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) 

当用户触摸屏幕时,这将创build数以千计的Rect和Point对象。

有谁知道解决方法?

我不瞄准三星手机或使用他们的sdks或图书馆。

Solutions Collecting From Web of "如何在三星手机上停止过多的对象创build?"

那么,这样的情况下,有一个devise模式发挥作用,称为flyweight模式。 不知道这是否帮助你,如果客户端代码是在你的控制之下,如果是,而是使新的对象,使用相同的对象,对象的属性(例如Rect将有x,y坐标)存储在客户端对象放在数组中,然后调用Rect对象的draw方法,传递存储在客户端数组中的rect对象的坐标。