Android 용 게임을 프로그래밍하고 있습니다. 게임을 실행하는 데 문제가 없지만 일부 이상한 일이 발생하고 있습니다.앱을 시작할 때 Android onPause가 호출됩니다.
약간의 테스트를 통해 게임을 시작할 때 Activity.onPause() 메서드가 호출되는 것을 알았습니다!
까지 내가) 응용 프로그램을 시작하고 활동 라이프 사이클 다이어그램이나는 Log.d를 (넣어
을 입증 할 때 onPause()가 호출 할 수 없습니다 알고는 onResume() 메소드가 호출되고, 그런 다음 onPause()를 누른 다음 onResume()을 다시 실행하면 앱이 정상적으로 실행되기 시작합니다.
문제가있는 곳에서 아이디어를 찾을 수 없기 때문에 코드를 삽입하지 않았으며, 이것이 처음부터 원인이되는 문제인지 잘 모르겠습니다.이 동작은 정상입니까? 또는 뭔가이
편집의 원인 : 요청으로, 활동에 대한 코드는 응용 프로그램
package com.khallouf.agf;
import com.khallouf.agf.graphics.Graphics;
import com.khallouf.agf.graphics.Renderer;
import com.khallouf.agf.graphics.Screen;
import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.util.Log;
import android.view.Display;
import android.view.Window;
import android.view.WindowManager;
public abstract class Game extends Activity implements Runnable{
public Renderer renderer;
private Thread renderingThread ;
public Screen currentScreen;
public Graphics graphics;
public Bitmap extraSpaces;
public WakeLock wakeLock;
public int physicalScreenWidth;
public int physicalScreenLength;
enum Orientation {Landscape , Portrait}
public Orientation orientation = Orientation.Landscape;
public Game(Orientation o)
{
orientation = o;
}
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState)
{
//Setting the screen power and to full screen mode
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
PowerManager powerManager = (PowerManager)getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "MyGame");
// reading the physical screen size
Display display = getWindowManager().getDefaultDisplay();
physicalScreenLength = display.getHeight();
physicalScreenWidth = display.getWidth();
setOrientation(orientation);
Bitmap frameBuffer = createFrameBuffer();
graphics = new Graphics(getAssets(), getResources() , frameBuffer);
currentScreen = getStartingScreen();
renderer = new Renderer(this,frameBuffer);
setContentView(renderer);
renderingThread = new Thread(this);
renderingThread.start();
}
@Override
protected void onResume() {
super.onResume();
wakeLock.acquire();
currentScreen.resume();
//Starting the Thread
Log.d("TAG", "onResume entered");
}
@Override
protected void onPause() {
super.onPause();
wakeLock.release();
currentScreen.pause();
Log.d("TAG", "OnPause entered");
}
[여기] (http://developer.android.com/reference/android/app/Activity.html)의 라이프 사이클 다이어그램과 같이 약간 이상하게 보입니다. 그래도 활동 코드를 게시 하시겠습니까? 여러 활동을하고 있습니까? – aProperFox
활동의 어느 곳에서나 방향 변경을 요청 했습니까? – CChi
사실을 게시했습니다. 코드가 방향을 바꾸고 있습니다. 이 문제입니까? 그렇다면 활동이 일시 중지되지 않도록 방향을 수정할 수 있습니까? –