1. onMeasure在什么时候会被调用多次?
调用 addView、setVisbility、setTextView时,onMeasure就会被调用多次
因为调用 addView、setVisbility、setTextView等都会调用 requestLayout,而调用 requestLayout就会执行 view的 绘制流程,也就是说会执行 performMeasure、performLayout、performDraw,就会执行 onMeasure;
所以:
为了防止卡顿、提高性能和效率,要慎用 addView、setVisbility、setTextView等方法,因为这几个方法会重新调用 requestLayout,会重新测量、重新摆放、重新绘制view,影响性能;
网友评论