내장카메라 로 사진을 찍을 때 onCreate()로 왜 진입하나요?

안녕하세요. 현재 모토로이 사용중인 개발자입니다. 
앱에 내장카메라 연동으로 사진을 찍어 갤러리 뷰를 통해 사진을 보여주는 작업을 하고 있습니다. 
내장 카메라를 다음과 같이 버튼을 누르면 활성화 되게 하였습니다.
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_CAMERA_CAPTURE);			

그리고 onActivityResult()을 통해 다음과 같이 Bitmap을 읽어오고 있습니다.
Bitmap bm = (Bitmap)data.getExtras().get("data");
WCommonData.gBmList.add(bm);  /// WCommonData.java 파일에 존재하는 static ArrayList<Bitmap>
((BaseAdapter) glPhoto.getAdapter()).notifyDataSetChanged(); /// Gallery reset            	

이 후 Gallery의 Adapter에서 WCommonData.gBmList.get(position)을 통해 값을 보여주게 됩니다.
WCommonData.java에서의 gBmList는 다음과 같이 정의 되어 있습니다. 
/// Definition of Gallery bitmap array
public static ArrayList<Bitmap> gBmList = new ArrayList<Bitmap>();

그런데 문제는 여러장을 연속으로 찍다 보면 어느 순간 갤러리의 이미지가 1장으로 초기화가 되는 경우가 발생합니다. 
문제의 원인을 찾아보니 다음과 같은 경우에 발생하는 것을 알아내었습니다. 

== 정상적인 경우의 Activity life cycle : 
onCreate() -> onStart() -> onResume() -> (아래는 사진 찍을 때 마다 반복되는 구간) 
카메라 실행 -> onPause() -> onStop() -> 사진 찍고 삽입 -> onRestart() -> onStart() -> onResume()

== 초기화가 되는 경우의 Activity life cycle : 
onCreate() -> onStart() -> onResume() -> (문제가 발생할 때에는 onRestart()가 아니라 onCreate()로 들어오고 있습니다.)
카메라 실행 -> onPause() -> onStop() -> 사진 찍고 삽입 -> onCreate() -> onStart() -> onResume()

두 경우 모두 onDestroy()는 거치지 않습니다.

질문의 핵심은 다음과 같습니다.
1. 내장 카메라 연동시 반복 동작에서 왜 Activity life cycle이 다른 경우가 발생하는가?
2. Activity가 onCreate()로 초기화 되었다고 해도 왜 다른 파일에 존재하는 static 변수가 초기화 되는가?

제 부족한 지식으로는 외부 파일에 정의된 static 변수가 사용하는 Activity의 life cycle에 영향을 받지 않은 것으로 압니다. 
아무리 머리를 짜 보아도 별다른 원인이 떠오르지 않네요... 부디 저의 부족함에 깨달음을 주시길 바랍니다. 

공지사항 다 읽었음.