这几天一直在做一个自定义TextView 基本逻辑是在onDraw里实现的,但是通过打印出来的Log发现onDraw一直在死循环的调用
坑爹的调试的半天,发现问题在于onDraw里使用了TextView的setTextColor 方法 。TextView 中自带的setTextColor方法会在一定情况下调用invalidate()方法通知该View刷新 这也就是造成了onDraw 和 invalidate的循环调用 导致代码死循环 。。。希望可以帮到大家!
本文介绍了一个关于自定义TextView的问题,在onDraw方法中调用setTextColor方法会导致onDraw和invalidate方法的循环调用,进而引发死循环。文章分享了解决方案,帮助开发者避免此类陷阱。
这几天一直在做一个自定义TextView 基本逻辑是在onDraw里实现的,但是通过打印出来的Log发现onDraw一直在死循环的调用
坑爹的调试的半天,发现问题在于onDraw里使用了TextView的setTextColor 方法 。TextView 中自带的setTextColor方法会在一定情况下调用invalidate()方法通知该View刷新 这也就是造成了onDraw 和 invalidate的循环调用 导致代码死循环 。。。希望可以帮到大家!

被折叠的 条评论
为什么被折叠?