title: who calls the method TextView.onMeasure(int, int) and give it that two params?
body: <p>I want to implement a TextView, and I override the method "onMearsure()", I just make a simple Layout, activity_main, just a LinearLayout. xml like this:</p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical"&gt;    &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>and I put my TextView into this layout by using Java code.like this:</p>
  
  <pre><code>protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      LinearLayout root = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.activity_main, null);
      setContentView(root);
  
      KTextView textView = new KTextView(this, null);
      textView.setText("abcd");
      root.addView(textView);
  
  }
  </code></pre>
  
  <p>and now, I made some Log in onMeasure() method, it show the widthMode and heightMode are EXACTLY and AT_MOST. But its parent(LinearLayout)'s width and height both are MATCH_PARENT, so I think width mode and height mode both are AT_MOST.</p>
  
  <p>and I want to know who invoke TextView.onMeasure()? is its parent container?</p>