无意间发现进入某个页面时,一个自定义ViewGroup控件的onLayout方法每秒都在输出日志。在它的onLayout方法,会对子View的位置进行计算然后重新排列,这样无疑是非常耗性能的。通过排查发现,是因为我们每秒都在调用TextView的setText方法导致的。为什么调用setTextView会导致父View的onLayout方法被触发呢?
Talk is cheap, show me u photo
无意间发现进入某个页面时,一个自定义ViewGroup控件的onLayout方法每秒都在输出日志。在它的onLayout方法,会对子View的位置进行计算然后重新排列,这样无疑是非常耗性能的。通过排查发现,是因为我们每秒都在调用TextView的setText方法导致的。为什么调用setTextView会导致父View的onLayout方法被触发呢?