惰性属性有什么好处?有什么目的?

问题描述 投票:0回答:1

惰性财产的目的是什么?分别是什么?

Kotlin 语言文档:https://kotlinlang.org/docs/deleated-properties.html#lazy-properties

节省内存?还是别的什么?

kotlin lazy-initialization
1个回答
0
投票

可能有以下一个或多个相关因素:

  • 按照您的建议,该值可能需要大量内存来存储。

  • 该值可能需要大量时间/精力才能生成(例如 CPU 负载和/或对外部服务的调用)。

  • 该值可能会过时。

  • 在实例构建完成之前(可能在一些构建后设置之后),可能无法生成该值。

其中一些原因纯粹与效率有关。  对于这些,您需要考虑一些因素,例如需要该值的可能性有多大、生成它可能需要多长时间、构建时的延迟是否比首次使用该值时的延迟更重要或更不重要。 ,等等。

但是其他原因可能会影响程序是否运行以及如何运行,因此对于这些原因,惰性可能是必要的。

无论哪种方式,拥有一种简单、简洁、健壮的方式来实现惰性属性都是对 Kotlin 的一个非常有用的补充。  (特别是因为它可以在标准库中完成,而不影响语言本身。)

© www.soinside.com 2019 - 2024. All rights reserved.