- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我实现了一个 CustomPainter。在 shouldRepaint 方法中,我必须比较 6 组深度相等性。我现在正在使用 setsEqual 来做这件事。如果它们非常相等,则无需重新绘制,但真的值得检查一下吗?即使我不必这样做,只返回 true 并绘画会不会更糟?
编辑:我忘了说这幅画本身其实很简单。这些集合包含计算点(每个点大约 5 个)的对象,然后我将这些点绘制为圆圈。圆圈的颜色取决于它所属的集合。由于与用户的交互,对象可能会改变它们所属的集合,如果发生这种情况,持有 CustomPaint 的 StatefulWidget 将使用 setState 进行重建。我认为复杂的部分是决定是否重绘:每个集合都必须与旧的代表集合进行比较,如果一个集合的内容发生变化,我的 CustomPainter 应该重绘。
最佳答案
CustomPaint 会消耗很多的电量。来自另一个问题的例子 here由于持续绘图,用户的 FPS 大幅下降。
所以这是可以被认为是值得的东西。
但最重要的是要注意:shouldRepaint
不是自给自足的。根据文档:
It's possible that the paint method will get called even if shouldRepaint returns false (e.g. if an ancestor or descendant needed to be repainted). It's also possible that the paint method will get called without shouldRepaint being called at all (e.g. if the box changes size).
一种解决方案是使用 RepaintBoundary
,如文档或上面链接的 SO 问题中所述。
关于flutter - CustomPainter - shouldRepaint 值得吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50043748/
我正在生成代码,其中我恰好将 n 个单词从一个内存位置复制到另一个非重叠内存位置。 n 是静态已知的。 目前,我发出大量加载指令,然后是大量存储指令,但我怀疑从 n 的某个值开始,调用 memcpy会
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
用例如下: 我有一张 map ,其中将插入一些键/值。 该程序将查询该 map ,但是在第一个查询之后,我可以保证该 map 将完全不会被修改。 因为查询的结果完全是输入的函数,所以在查询方法上放置属
Helo 伙计们,我尝试使用 Refs 并在他的内部提供 this.setState 但它给出: Maximum update depth exceeded. This can happen when
在检查事件时,使用带有 switch 或 if 的代码块是很常见的事情。如果变得简单,它可以是干净的代码,但似乎仍然有比需要更多的行,并且可以使用 lambda 进行简化。 用 if 阻止: if(a
Amazon 最近宣布在其 RDS 产品线中支持 Oracle: http://aws.amazon.com/rds/oracle/ 我想知道是否有人使用过它,或者是否有令人信服的理由将我的数据从 M
我是一名优秀的程序员,十分优秀!