2011-05-12 5 views
1

Android 용 libgdx에서 pause() 및 resume() 함수에 필요한 코드는 무엇입니까?Libgdx에서 일시 중지 및 다시 시작 기능을 빠르게 해결하는 방법

@Override 
    public void create() { 
      // TODO Auto-generated method stub 

    } 

    @Override 
    public void dispose() { 
      // TODO Auto-generated method stub 

    } 

    @Override 
    public void pause() { 
      // TODO Auto-generated method stub 

    } 

    @Override 
    public void render() { 
      // TODO Auto-generated method stub 

    } 

    @Override 
    public void resize(int width, int height) { 
      // TODO Auto-generated method stub 

    } 

    @Override 
    public void resume() { 
      // TODO Auto-generated method stub 

    } 

}

답변

6

은 기본적으로 당신은 그 두 가지 방법에서 아무것도를 작성할 필요가 없습니다. libgdx 응용 프로그램은 create()에서 응용 프로그램을 설정하고 render()에서 물건을 그릴 때 작동합니다. 이것은 다른 활동이 포 그라운드로 들어오고 libgdx 응용 프로그램으로 돌아갈 때에도 작동합니다.

시스템에서 메모리를 회수하기 때문에 libgdx 작업이 종료 될 때 상황이 변경됩니다. 이 경우 pause()를 사용하여 응용 프로그램 상태를 저장하고 resume()에 복원 할 수 있습니다. Libgdx는 안드로이드의 Parcelable 개념을 포장하지 않으므로 다른 지속성 메커니즘을 찾아야합니다.

+0

예, 같은 생각입니다. 하지만 내 응용 프로그램이 충돌 ... 나는 홈 버튼을 누르면 5-15 초 후에 내 애플 리케이션이 방금 추락했다는 메시지가 나타납니다. 나는 이것을 HTC Tattoo와 Samsung Galaxy S에서 테스트했습니다. – Felix

+0

물건을 만들기 위해 여러 개의 스레드를 사용합니까? stracktrace를 제공 ​​할 수 있습니까? – Moritz

+0

libgdx를 사용할 때 응용 프로그램을 켜고 끌 때 크래시가 발생합니다. 문제가 무엇인지 알기 위해 새로운 질문을 열거 나 수정해야합니다. 나는 문제도 가지고있다. – Remm

1

소위 컨텍스트 손실과 관련된 이벤트를 일시 중지했다가 다시 시작합니다. Android에서 컨텍스트 손실이 발생하면 운영 체제가로드 된 자산으로 가득 찬 메모리를 강제로 해제하기로 결정했습니다. 따라서 컨텍스트 손실 후 자산에 직접 액세스하면 재개 된 게임이 즉시 중단됩니다. 이러한 충돌을 방지하려면 자산에 다시 액세스하기 전에 자산을 다시로드해야합니다.

관련 문제