dart:是否可以缓存或重新创建在重复函数中创建的对象?

卡京

在经常性的功能,如CustomPaint()paint(),如果我创建一个对象是这样的:


void paint(Canvas canvas, Size size) {
    
  ....
  
  var myObj = MyClass();
  var myObj.configure(canvas, size);
 
  ....
    
}

将在paint()每帧调用该对象时重新创建该对象,还是将其缓存直到它依赖于某些内容(例如屏幕大小)?

亚历克斯·拉齐舍夫斯基

这取决于您如何实现MyClass构造函数。我可以看到几个选项:

  • MyClass标准构造函数-然后,每次调用对象时都会重新创建该对象;
  • MyClass可以具有const构造函数。然后,如果您使用const MyClass()创建实例,它将是相同的实例。因此,并非总是可能这样做。
  • MyClass可以具有默认的工厂构造函数。这样,您可以根据需要在MyClass自身内部实现“缓存”。示例是“单例”-您将始终只有一个实例。例如,请参见此处:如何在Dart中构建Singleton?

还请注意,如果MyClass的对象是轻量级的,则可能不需要优化:Dart通常可以创建许多小对象并进行垃圾回收。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以忽略git中的文件重新创建?

来自分类Dev

QCursor是否可以从QPixmaps重新创建泄漏内存?

来自分类Dev

是否可以重新创建.meteor目录?

来自分类Dev

是否可以从javascript重新创建选择?

来自分类Dev

是否可以在 close() 之后重新创建 Java BufferedReader 对象

来自分类Dev

是否重新创建对象/引用/指针以添加const

来自分类Dev

是否可以在R中的ggplot中重新创建bayesplot的“ mcmc_areas”图的功能

来自分类Dev

是否可以在JS中重新创建“新”运算符?

来自分类Dev

在Javascript中重新创建Processing map函数

来自分类Dev

定期重新创建对象

来自分类Dev

IntelliJ 2020是否可以将“ Callable” lambda函数提取到新创建的类中?

来自分类Dev

在Rails中重新创建表

来自分类Dev

在Rails中重新创建表

来自分类Dev

临时表的创建在同一会话中引发错误,甚至也删除和重新创建

来自分类Dev

从列表中获取新创建的对象

来自分类Dev

有什么方法可以从其Object.inspect方法的输出中重新创建对象吗?

来自分类Dev

从浏览器缓存中重新创建网页

来自分类Dev

JpaRepository缓存新创建的对象。如何刷新呢?

来自分类Dev

重新创建序列

来自分类Dev

jQuery select2:重复标记被重新创建

来自分类Dev

是否可以在不重新创建窗口的情况下切换全屏显示?

来自分类Dev

是否可以仅通过使用glBlendEquation和glBlendFunc重新创建无混合模式?

来自分类Dev

是否可以以编程方式从数据包重新创建请求?

来自分类Dev

是否可以在不重新创建窗口的情况下切换全屏显示?

来自分类Dev

是否可以在macOS中使用给定的homedir和UID重新创建丢失的帐户?

来自分类Dev

重新创建了VG。是否可以向其中添加现有的LV?

来自分类Dev

是否可以仅通过使用glBlendEquation和glBlendFunc重新创建无混合模式?

来自分类Dev

Android:AsyncTask可以重新创建自己吗?

来自分类Dev

重新创建为对象和类PHP

Related 相关文章

  1. 1

    是否可以忽略git中的文件重新创建?

  2. 2

    QCursor是否可以从QPixmaps重新创建泄漏内存?

  3. 3

    是否可以重新创建.meteor目录?

  4. 4

    是否可以从javascript重新创建选择?

  5. 5

    是否可以在 close() 之后重新创建 Java BufferedReader 对象

  6. 6

    是否重新创建对象/引用/指针以添加const

  7. 7

    是否可以在R中的ggplot中重新创建bayesplot的“ mcmc_areas”图的功能

  8. 8

    是否可以在JS中重新创建“新”运算符?

  9. 9

    在Javascript中重新创建Processing map函数

  10. 10

    定期重新创建对象

  11. 11

    IntelliJ 2020是否可以将“ Callable” lambda函数提取到新创建的类中?

  12. 12

    在Rails中重新创建表

  13. 13

    在Rails中重新创建表

  14. 14

    临时表的创建在同一会话中引发错误,甚至也删除和重新创建

  15. 15

    从列表中获取新创建的对象

  16. 16

    有什么方法可以从其Object.inspect方法的输出中重新创建对象吗?

  17. 17

    从浏览器缓存中重新创建网页

  18. 18

    JpaRepository缓存新创建的对象。如何刷新呢?

  19. 19

    重新创建序列

  20. 20

    jQuery select2:重复标记被重新创建

  21. 21

    是否可以在不重新创建窗口的情况下切换全屏显示?

  22. 22

    是否可以仅通过使用glBlendEquation和glBlendFunc重新创建无混合模式?

  23. 23

    是否可以以编程方式从数据包重新创建请求?

  24. 24

    是否可以在不重新创建窗口的情况下切换全屏显示?

  25. 25

    是否可以在macOS中使用给定的homedir和UID重新创建丢失的帐户?

  26. 26

    重新创建了VG。是否可以向其中添加现有的LV?

  27. 27

    是否可以仅通过使用glBlendEquation和glBlendFunc重新创建无混合模式?

  28. 28

    Android:AsyncTask可以重新创建自己吗?

  29. 29

    重新创建为对象和类PHP

热门标签

归档