当前位置: 首页 > 知识库问答 >
问题:

“懒惰”在Android静态编程语言中的应用是什么?

凤财
2023-03-14

懒的应该在哪些地方使用?

为什么要使用它?

它如何使代码更好

例如:

val currentResult: MutableLiveData<String> by lazy {
          MutableLiveData<String>()
}

共有1个答案

郭远
2023-03-14

by懒应该用在哪些地方?

它们应该用于不需要对变量进行不必要的初始化的地方。这些属性是val属性,因此在初始化之后,相同的对象将在类的整个运行中使用。

为什么要使用它?

当您的任何对象都很重并且需要很长时间才能初始化时,应使用惰性对象。在这里,lazy属性可以帮助跳过由这些对象的初始化引起的延迟。因为懒惰只会在调用变量时初始化变量,否则不会创建它。

它如何使代码更好

通过延迟加载重载对象,它提高了代码的性能,因为加载过程中的任何延迟(可能是由于这些重载变量的初始化引起的)现在都被消除了。它使内存保持空闲,因为直到代码调用它们时才会初始化它们。

 类似资料:
  • 它与扩展函数有什么关系?为什么带有的是函数,而不是关键字? 这个主题似乎没有明确的留档,只有关于扩展的知识假设。

  • 我在我的一个项目中使用RxJava,我使用Android Studio插件将我的一个类转换为静态编程语言,并在maplambda(java中的Func1)之一中,中间体返回如下所示。 我不知道这意味着什么。

  • 我是科特林的新手。因此,我在Android Studio中创建了一个kotlin项目,并导入了片段ktx和活动ktx依赖项。在片段中,我右键单击片段,然后转到- 这是我的应用程序。梯度锉

  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 这里已经阐明了和之间的区别。 但我的问题是,为什么我们要使用关键字?从生成的Java代码角度来看没有区别。 静态编程语言代码: 生成:

  • 为了在Eclipse中创建我的第一个简单Kotlin项目,我遵循了从Kotlin官方网站开始使用Eclipse Luna教程的步骤,即: 从Eclipse市场安装适用于Eclipse的Kotlin插件 但是,我在Eclipse控制台中经常遇到以下错误: 错误:无法找到或加载主类HelloKt 我仔细检查了我的项目的运行配置,它确实将“Main class”设置为(我100%确定它不存在)。另外,当