2014-11-09 1 views
0

Наше приложение вылетает на некоторых устройствах после загрузки экрана. Он работает плавно на наших тестовых устройствах, поэтому мы не можем предоставить логарифм ошибок. Таким образом, единственная проблема заключается в том, что наше приложение вылетает на некоторых устройствах после вызова метода onCreate.Приложение вылетает, когда на некоторых устройствах вызывается действие onCreate().

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
    WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setVolumeControlStream(AudioManager.STREAM_MUSIC); 

    WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); 
    Display display = wm.getDefaultDisplay(); 
    Point size = new Point(); 
    display.getSize(size); 
    screenWidth = size.x; 
    screenHeight = size.y; 
    screenSizeAverage = (screenWidth + screenHeight)/2; 

    this.gameStatus = 5; 
    this.isEnemiesStarted = false; 
    this.score = 0; 
    this.playerPos = 0; 

    prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE); 
    bestScore = prefs.getInt("key", 0); 

    gameView = new GameView(this.getApplicationContext(), this); 
    gameView.setOnTouchListener(new View.OnTouchListener(){ 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 

      if(event.getAction() == android.view.MotionEvent.ACTION_DOWN) { 
       if(gameStatus == 1){ 
        if(isEnemiesStarted == false){ 
         isEnemiesStarted = true; 
        } 
        if(event.getX() < screenWidth/2 && event.getY() < screenHeight/2) { 
         if(playerPos != 1){ 
          gameView.setPlayerPos(screenSizeAverage/8, screenSizeAverage/8); 
          playerPos = 1; 
          score++; 
          gameView.playSound(1); 
         } 
        } 
        else if(event.getX() > screenWidth/2 && event.getY() < screenHeight/2) { 
         if(playerPos != 2){ 
          gameView.setPlayerPos(screenWidth - screenSizeAverage/8 - gameView.getPlayerWidth(), screenSizeAverage/8); 
          playerPos = 2; 
          score++; 
          gameView.playSound(1); 
         } 
        } 
        else if(event.getX() < screenWidth/2 && event.getY() > screenHeight/2) { 
         if(playerPos != 3){ 
          gameView.setPlayerPos(screenSizeAverage/8, screenHeight - screenSizeAverage/8 - gameView.getPlayerWidth()); 
          playerPos = 3; 
          score++; 
          gameView.playSound(1); 
         } 
        } 
        else if(event.getX() > screenWidth/2 && event.getY() > screenHeight/2) { 
         if(playerPos != 4){ 
          gameView.setPlayerPos(screenWidth - screenSizeAverage/8 - gameView.getPlayerWidth(), screenHeight - screenSizeAverage/8 - gameView.getPlayerWidth()); 
          playerPos = 4; 
          score++; 
          gameView.playSound(1); 
         } 
        } 
       } 
      } 

      else if (event.getAction() == android.view.MotionEvent.ACTION_UP) { 
       if(gameStatus == 3){ 
        if(gameView.getLoadStatus() == 2){ 
         gameView.closeGameOver(); 
         gameView.playSound(2); 
        } 
       } 
       else if(gameStatus == 4){ 
        if(gameView.getLoadStatus() == 1){ 
         gameView.setBestScore(bestScore); 
         gameView.setLoadStatus(2); 
        } else if(gameView.getLoadStatus() == 2){ 
         gameView.restartGame(); 
         gameView.setLoadStatus(0); 
         gameView.playSound(2); 
        } 
       } 
      } 

      return true; 
     } 

    }); 
    setContentView(gameView);  
+2

показать свой код для oncreate – raj

+2

show crash log too –

+0

, если у вас нет журналов ошибок, вставьте свой импорт. –

ответ

0

У меня такая же проблема на Samsung Galaxy S4 Mini. Проблема

display.getSize(size); 

Я не знаю почему. Для меня

DisplayMetrics metrics = context.getResources().getDisplayMetrics(); 
int width = metrics.widthPixels; 
int height = metrics.heightPixels; 

works.

 Смежные вопросы

  • Нет связанных вопросов^_^