【发布时间】:2017-03-02 14:18:47
【问题描述】:
我无法在不同的 Android 设备上获得相同的球速。它是一个带有弹跳球的爆发游戏。我在我的 Galaxy s7 上开发了这个应用程序,但是在我的 s3 上测试它时,球和其他物体的速度大约快了 30%,或者什么???。
- 我使用的是表面视图,帧速率恒定,约为 60fps
-
球速以 dp 为单位设置并存储为 xml 资源。 (与球半径相同)
<dimen name="ballSpeed">5dp</dimen> <dimen name="ballRadius">6.25dp</dimen>
我只是检索存储在资源文件中的字段
float ballSpeed = createGC.getContext().getResources().getDimensionPixelSize(R.dimen.ballSpeed);
然后将球速传递给球对象构造函数
那么如何解释速度差异呢? fps 相同,速度和半径均以 dpi 表示。但不知何故,三星 Galaxy s3 的速度更快。我想这可能与屏幕尺寸有关。
s7 inch: 5.1
s3 inch: 4.8
所以我的问题是:
不同的屏幕尺寸是否可以解释速度差异? 我怎么可能考虑到这一点?
【问题讨论】:
标签: android performance android-animation dpi