自定义View - 调用onInvalidate()的时机(二)
2018-06-11 本文已影响9人
世道无情
前言
自定义View - invalidate()方法源码分析(一)
自定义View - 调用onInvalidate()的时机(二)
1. onInvalidate()方法调用时机?
一般我们在调服务器接口之后,服务器会给我们返回一些数据,这个时候我们就会调用 setText()、setImageView()等等设置数据的这些方法,就会调用onInvalidate()方法。
只要一调用 onInvalidate(),它就会先往外边 draw()画一遍,一直到最外层的PhoneWindow,然后再往里边 draw()画一遍,一直到最里层的设置数据的控件,这样一来,你每 调用一次 setText()、setImageView()等这些方法,它都会调用 onInvalidate()方法,可以看到,如果调用次数过多,肯定会导致 运行速度非常之慢。