안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 초보 개발자 도깨비입니다.
하나의 이미지에 9개의 프레임이 있고 이것을 화면에 뿌려주기 위해서는
방법1. 크기가 9인 Bitmap배열을 만들어서 하나하나씩 이미지를 잘라서 넣고 한장씩 뿌려준다.
방법 2. 하나의 Bitmap에 매번 createBitmap을 하면서 전체이미지에서 부분 이미지만 잘라내 보여준다. recyle()도 createBitmap이 불리기 바로전에 항상 해준다.
대부분의 예제들을 모두 1번 방법을 사용해서 Bitmap 이미지를 애니메이션처럼 보이게끔 뿌려주더군요..
하지만 이미지가 엄청나게 많을 때는 모든 이미지에대한 Bitmap 배열을 생성해야 하기에 좋지 않은 방법같아서
저는 2번 방법으로 하고 있습니다. 속도적인 면에서 아니면 메모리적인 면에서 어떤방법이 더 좋은 방법인지 알고싶습니다.
아니면 다른 기발한 방법이 있다면 알려주세요..
하나의 이미지에 9개의 프레임이 있고 이것을 화면에 뿌려주기 위해서는
방법1. 크기가 9인 Bitmap배열을 만들어서 하나하나씩 이미지를 잘라서 넣고 한장씩 뿌려준다.
방법 2. 하나의 Bitmap에 매번 createBitmap을 하면서 전체이미지에서 부분 이미지만 잘라내 보여준다. recyle()도 createBitmap이 불리기 바로전에 항상 해준다.
대부분의 예제들을 모두 1번 방법을 사용해서 Bitmap 이미지를 애니메이션처럼 보이게끔 뿌려주더군요..
하지만 이미지가 엄청나게 많을 때는 모든 이미지에대한 Bitmap 배열을 생성해야 하기에 좋지 않은 방법같아서
저는 2번 방법으로 하고 있습니다. 속도적인 면에서 아니면 메모리적인 면에서 어떤방법이 더 좋은 방법인지 알고싶습니다.
아니면 다른 기발한 방법이 있다면 알려주세요..
2010.09.03 15:53:07
제 짧은 생각으로는
하나의 큰 이미지를 잘라서 만든다면 1번을
여러개의 큰 이미지를 사용한다면 두 방법을
혼합(한 번에 하나의 이미지씩 로드)해서
사용하는 것이 좋을 것 같네요.
뭐 상용 프로그램 한 번 못 만들어 본
학생의 생각이니 너무 믿지는 마시구요 ^^
하나의 큰 이미지를 잘라서 만든다면 1번을
여러개의 큰 이미지를 사용한다면 두 방법을
혼합(한 번에 하나의 이미지씩 로드)해서
사용하는 것이 좋을 것 같네요.
뭐 상용 프로그램 한 번 못 만들어 본
학생의 생각이니 너무 믿지는 마시구요 ^^
이런 케이스는 1번이 맞다고 생각되네요.
새로 객체를 매번 할당하는 것보다 배열로 미리
할당받아 두는 것이 효율적이라고 생각되네요.