2011-03-15 8 views
1

Android 용 Pairs의 간단한 게임을 만들려고합니다.앱 시작시 모든 이미지 미리로드

는 프로그램 구조가

는 (메뉴에 의해 시작 게임 활동)

Menu.java (초기로드 메뉴 활동)

Game.java
GameThread.java (gameloop, 통화 GameView의 과정을 렌더링 핸들들의 )
GameView.java는()) 화면에

Graphics.java (저장로드 이미지를 모든 그리기를 처리

문제점

문제는 15 개 카드 세트를 애니메이션하는 데 필요한 많은 이미지가 같이 게임 활동을 위해 내가 필요한 모든 비트 맵을로드하면 2 초 정도 소요됩니다. 메뉴와 게임 활동 사이의 큰 로딩 시간을 피하기 위해 나는 그래픽 클래스에 필요한 모든 비트 맵을 미리로드하고, 응용 프로그램이 처음 시작될 때 새 스레드에서 (메뉴 작업), 로딩 애니메이션을 표시하는 방법을 생각했습니다 .

다음으로 Menu 활동에서 Graphics 활동을 Game 활동으로 전달할 수 없으므로 Menu 활동에서 정적 개체로 만들어야합니다 (Menu.graphics 사용). ..). 이것은 그것을하는 끔찍한 방법입니까? 나는 항상 정적 객체를 사용하는 것이 좋지 않다고 생각했다. 다른 옵션은 무엇입니까?

미리 도움을 주셔서 감사합니다.

답변

0

이 경우 AsncTask을 사용하는 것이 좋습니다. 주요 안드로이드 문서 사이트의 Painless Threading이라는 기사에도 잘 나와 있습니다.

+0

감사합니다. AsyncTask가 유용합니다. 다른 액티비티의 미리로드 된 리소스를 사용하는 경우 Graphics 객체를 정적으로 저장하도록 허용 할 수 있습니까? 아니면 액티비티간에 Graphics 객체를 전달할 수 없기 때문에 더 좋은 방법이 있습니까? – woodstock365

+0

예, 정적 변수는 완벽하게 허용됩니다. –

+0

감사합니다. 내 이미지를 저장하는 가장 좋은 방법을 물어 볼 수 있습니까? R.drawable.someAsset을 가리 키기 위해 배열을 사용한다면 실제로 이미지가 아닌 포인터를 저장하는 것입니다. 비트 맵에 이미지를 모두로드해야합니까? 또한 xml 레이아웃에있는 imageViews에 사용되는 리소스가 어떻게 만들어 지므로 xml 레이아웃이 새 인스턴스를로드하는 대신 이미로드 된 리소스를 가져 오게할까요? 코드를 통해 동적으로 이미지를 추가해야합니까, 아니면 XML의 싱글 톤에서 이미지를 참조 할 수 있습니까? – ThePerson

관련 문제