Android 应用仅在最小化后运行

Android app only runs after minimizing

我正在尝试制作一个 Android 贪吃蛇游戏,我想要一个在屏幕宽度(纵向)正方形中延伸的网格。

我正在使用存储我的 png 的可绘制对象,当我添加行 grid.setBounds(0,0,screenWidth,screenWidth) 时,我的 phone 首先显示一个白屏,但一旦我最小化它就会按预期工作并重新打开我的应用程序。

如果我将标准数字作为参数输入,该应用程序也会按预期运行。这是在 android 7 上的我的 nexus 6P 上。当我在旧设备上模拟它时它可以工作,但在较新的设备上模拟时,我看到了同样的问题。我得到的屏幕宽度如下:

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
screenHeight = size.y;
scale = screenWidth/1024.0;

如果有人能提供帮助,我们将不胜感激。

尝试在activity的onWindowFocusChnaged方法中获取屏幕尺寸。

@Override
public void onWindowFocusChanged(boolean hasFocus)
{
    super.onWindowFocusChanged(hasFocus);
    WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    screenWidth = size.x;
    screenHeight = size.y;
    scale = screenWidth/1024.0;
}