【发布时间】:2015-01-28 18:51:53
【问题描述】:
我遇到了许多 Android 三星手机上动画速度变慢的问题。我已经追踪了这个问题,它是垃圾收集太多。但是,我的代码没有直接创建任何对象。
这是来自 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)
这会在用户触摸屏幕时创建数千个 Rect 和 Point 对象。
有人知道解决方法吗?
我不是针对三星手机或使用他们的 SDK 或库。
【问题讨论】:
-
三星的多窗口(多任务)支持似乎已激活。也许您可以强制您的应用告诉三星设备为您的应用禁用多窗口支持。不要回复我..我不熟悉三星多窗口功能。见stackoverflow.com/questions/14111052/…
-
@theJosh,你有没有进一步了解这个问题?
-
@Tenfour04 不,我离得不近。三星是我的克星。
-
也许你在某处泄露了一些 UI 视图?或者使用重绘它的自定义视图?没有代码/应用程序示例,这只是猜测
-
你能展示一下onTouch方法吗?还是处理输入的方法?
标签: android performance garbage-collection samsung-mobile