Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:动画对象不同速度不同设备_Android_Performance_Android Animation_Dpi - Fatal编程技术网

Android:动画对象不同速度不同设备

Android:动画对象不同速度不同设备,android,performance,android-animation,dpi,Android,Performance,Android Animation,Dpi,我有一个问题,就是在不同的android设备上获得相同的球速。这是一场有弹跳球的突破性比赛。我已经在我的galaxy s7上开发了该应用程序,但在我的s3上测试时,球和其他物体的速度大约快了30%,或者是别的什么 我使用的是surfaceview,帧速率是恒定的,大约为60fps ballspeed以dp术语设置,并存储为xml资源。(与球半径相同) 然后将ballspeed传递给ball对象构造函数 那么,如何解释速度差呢?fps与dpi相同,速度和半径以dpi表示。但不知怎的,三星Gala

我有一个问题,就是在不同的android设备上获得相同的球速。这是一场有弹跳球的突破性比赛。我已经在我的galaxy s7上开发了该应用程序,但在我的s3上测试时,球和其他物体的速度大约快了30%,或者是别的什么

  • 我使用的是surfaceview,帧速率是恒定的,大约为60fps
  • ballspeed以dp术语设置,并存储为xml资源。(与球半径相同)

    然后将ballspeed传递给ball对象构造函数

    那么,如何解释速度差呢?fps与dpi相同,速度和半径以dpi表示。但不知怎的,三星Galaxy s3的速度更快了。我想这可能与屏幕大小有关

    s7 inch: 5.1
    s3 inch: 4.8
    
    因此,我的问题是:

    不同的屏幕尺寸能解释速度的不同吗?
    我怎么可能考虑到这一点呢?

    如中所述,dp并不是在每个屏幕上都有相同的大小。你可以改变单位的功能。(比如in,mm或pt)

    不同速度的标准是什么?球移动不同像素的数量或部分显示

    此标准影响为球速选择的大小单位。如果球应该在屏幕的同一部分移动,可能是
    dp
    的最佳方式。如果它应该移动相同的物理距离(例如英寸),请使用
    in
    pt

    float ballSpeed = createGC.getContext().getResources().getDimensionPixelSize(R.dimen.ballSpeed);
    
    s7 inch: 5.1
    s3 inch: 4.8