지금 안드로이드에서 화면 회전을 구현하려고 하는데...


궁금한게 생겨서 이렇게 질문 드립니다.


화면 회전 구현을 맨 처음에 이미지를 xml에서 속성으로 바로 넘겨줬는데


이미지가 해상도가 좀 높아서 회전 속도도 너무 느리고 리소스 부족?으로 프로그램이 죽기 까지 하더군요


그래서 찾아보니까 bitmap 클래스?를 사용해서 팩토리 어쩌구를 이용해서 하면 리소스 관리에서 더 효율적이다라고 해서


xml에서 속성 올린거 전부 삭제하고 java 코드에서 bitmap을 사용해서 하니까 훨씬 낫더라구요


죽지도 않고... 근데 여전히 회전 속도가 너무 느립니다.


지금 자바 코드에서 구현을 onCreate에 화면이 가로냐 세로냐 분기문해서 그 안에서 또 로그인 ID에 따라


이미지를 할당해주는데 Bitmap 객체 생성등을 전부 그 안에서 처리 했는데...


그래서 onCreate가 발생할때마다(회전시마다) 메모리에 올렸다 내렸다해서 그런건지 너무 느려서


얘기하니까 이미지를 이렇게 처리 하지 말고 bitmap 배열을 만들어서 이미지를 한번에 메모리에 올려놓고


이미지 할당을 index 값만 변경해서 스위칭만 시키는 방법으로 해보라고 하셔서 해보니까 0.55초 정도 걸리던게 0.14초 정도로 줄었는데


지금 제가 한게 bitmap 배열과 bitmapDrawable 배열을 클래스 변수로 선언해서 onCreate 메소드에서 최초 한번만

(프로그램 처음 실행될때 한번만 되고 하고 bool 변수로 다시 실행될때는 안되도록 막았습니다.)


bitmapFactory를 사용해서 이미지를 초기화 시켰는데...


궁금한게 onCreate가 회전 시마다 일어난다는건... 클래스가 다시 생성되는게 아닌가요?


그럼 클래스 변수랑 전부 다시 할당되고 하는거 아닌가요?


그럼 onCreate에서 매변 객체 생성하는거랑 다를바가 없다고 생각되는데... 어떻게 속도는 4배 가량 빨라지는건지 모르겠습니다.