【发布时间】:2017-01-19 20:01:34
【问题描述】:
我正在使用 Xamarin.Android 开发一个 Android 应用程序,并尝试每秒更新大约 50 次视图。我使用 RelativeLayout.LayoutParams 来更改视图的边距,以便它根据加速度计值移动。不幸的是,这不能很好地工作,因为看起来 android 的重绘速度不够快。 LayoutParams 是否有替代方案,或者如何强制 Android 更快地重绘我的视图? View 只是一个小的 ImageView。将它吸引到新位置应该不是很多工作。所以我不知道为什么这对 Android 来说是个问题。 提前致谢!
【问题讨论】:
-
update a View about 50 times per second一秒钟似乎太多了。我强烈建议您阅读如何调试 UI 性能:developer.android.com/studio/profile/systrace.html -
感谢您的评论和链接。但是当我回到每秒大约 25 次更新时,它绝对看起来像慢动作。
-
顺便说一下,我的 Lumia 650(速度较慢的 Windows Phone)运行完全相同的代码,就像一个魅力(每 100 个 CPU 滴答声更新一次)。那么为什么我的新 Android 设备不能这样做呢?
-
现在我尝试使用 ImageView.SetX() / SetY() 方法而不是 LayoutParams.SetMargin()。但我认为没有区别:(
-
我同意 Jon 的观点,每秒更新一个视图大约 50 次似乎太多了,我认为性能也与设备有关。你想做什么?一直重绘视图还是只是在视图上移动一些控件?
标签: java c# android xamarin layoutparams