掘友等级
获得徽章 0
Flutter的debugPrint就是把log按行切分后,对每一行log分别调用print来实现的,这样可以避免一次输出log太长而被android内核丢弃。
Flutter框架中检测到的异常,都会输出log到console,比如UI构建过程或者点击事件处理过程中的异常,其中UI的异常还会显示红屏。其他异常如果用户没有try-catch或者onError,就会走到runZoned的onError中,如果zone没有处理,就会走到native引擎里,但是c此时是没有log输出的。那么最好的异常处理应该怎么做?怎样在开发阶段尽早的暴露异常,同时在线上可以监控到异常?
Flutter中每个Widget对应一个Element,Element有两大类,一类是RenderObjectElement,一个类是ComponentElement。RenderObjectElement对应着一个RenderObject,完成布局绘制相关的工作。ComponentElement则为App增加状态和逻辑。前者劳力,后者劳心。
UI布局流程的关键就在于依赖关系。如果在父控件和所有子控件之间存在一个单向依赖关系(有向无环图),那么只需要按照依赖关系测量一次就可以了。所有需要测量两次的,是因为存在循环依赖。有没有反例?
Flutter里没有和Android的RelativeLayout类似的相对布局,大家知道为什么吗?
UI绘制为什么要经历measure、layout、draw三个阶段?
以后每周研究flutter有关的一个主题,并输出一篇文章,先写够20篇,用20周的时间让自己成为flutter方面的大牛。