참고 : 본문내용중 width와 height가 0이 나왔다고 했는데, 테스트해보니
그 이유는 Activity의 onCreate에서는 동적인 크기지정(wrap_content, fill_parent)의 크기가
 정해지기 전이기 때문에 0이 나왔던 것입니다. onSizeChanged가 Activity의 onCreate가 끝나고
발생되는 걸로 알수 있군요

위에 글은 전에 있던 질문을 어떻게 검색해서 찾아낸 것인데요. 잘 이해가 안되서 ㅠ_ㅠ 쫌 쉽게 설명쫌 부탁드립니다.

위에 이야기에 의하면 OnCreate 사이클때 크기를 못얻어온다는것인데. 그렇가면 onSizeChanged는 

어느 사이클에서 실행이 되는 것인가요??

아래와 같이 작성할때도 똑같은 현상이 나오는데요. 예는 Activity 상속 클래스도 아니고 View로서 

main.xml에 이 뷰 클래스를 집어 넣었습니다. 그렇다면 main.xml을 OnCreate메소드에서 setContentView

하기전에 뷰 생성자가 먼저 실행 된다는 이야긴가요!?

 public class MoveImage extends View implements Runnable {

 public MoveImage(Context context, AttributeSet attrs) {
  super(context, attrs);
  Image = this.getResources().getDrawable(R.drawable.robot);
  Thread thread= new Thread(this);
  thread.start();
 }
 
 protected void onSizeChanged(int w, int h, int oldw, int oldh) {
  viewWidth=this.getWidth();
  viewHeight=this.getHeight();
  imageWidth=Image.getIntrinsicWidth();
  imageHeight=Image.getIntrinsicHeight();
  x=0;
  y=0;
  
  super.onSizeChanged(w, h, oldw, oldh);
 }

 @Override
 protected void onDraw(Canvas canvas) {
  Image.setBounds(x, y, x+imageWidth, y+imageHeight);
  Image.draw(canvas);
  super.onDraw(canvas);
 }