主要问题是应用程序仅在安装或重新启动后启动。 第二次应用程序无法正常运行。 详情如下。
我遇到了一些奇怪的问题
1) Libgdx did not detect screen size correctly on Android 4 in
SCREEN_WIDTH = Gdx.graphics.getWidth();
我得到369*320
而不是960*540
我按照以下方式解决这个问题:
Activity
课程,我使用Display
AndroidApplication
课程,开始Admob和Libgdx课程。 2)第二个问题是应用程序启动
没有初始化值,也就是说具有相同的内存。
没有初始化boolean abc=false;
等值
看起来像无效退出?
在Libgdx类(第三类)中,我设置了一些值exit=true
并退出,
处理所有纹理。程序返回第二个类。
public void onCreate(android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Data.exit) finish();
第二课程返回主要活动
以同样的方式检查exit
3)接下来有趣的是现在Gdx.graphics.getWidth()
正确获取屏幕尺寸。谜...
4)如果是这样,我重新制作应用程序。
现在主类开始了Libgdx类。
它的工作和退出都很好,但只是在安装或重启后才第一次。
Libgdx onCreate
的秒数开始,但render()
没有。
首次启动后看起来像无效退出:
主类代码在这里
public class MyActivity extends AndroidApplication
implements IActivityRequestHandler {
public void onCreate(android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
context.startService(new Intent(context, BillingService.class));
....
// Create the libgdx View
View gameView = initializeForView(new MyGame(this), false);
// Create and setup the AdMob view
adView = new AdView(this, AdSize.BANNER, "aaaaaaa");
}
@Override
public synchronized void onPause() {
super.onPause();
}
@Override
public void onStop() {
super.onStop();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
有什么想法吗?谢谢!
答案 0 :(得分:0)
您正在使用静力学。当您关闭应用程序时,它们会保留其价值,并在Android销毁进程之前再次打开它,因此使用相同的VM。您无法控制Android何时会销毁它,因此请尝试在其类的构造函数/ create方法中初始化这些变量。
而不是:
static boolean abc=false;
使用:
static boolean abc;
public MyClass/create(){
abc=false;
}
或者除非必要,否则不要使用静态。