草庐IT

Kotlin-script

全部标签

android - Java 中的内存泄漏,但 Kotlin(相同代码库)中没有……为什么?

这个问题在这里已经有了答案:Kotlin:safelambdas(nomemoryleak)?(3个回答)关闭4年前。我在一个Activity下面有一段简单的代码...publicclassMainActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ValueAnimatorvalueAnimator=ValueA

Android Studio 在调用 Java 接口(interface)中的静态方法的 Kotlin 项目中引发构建错误

我在AndroidStudio中有一个Kotlin项目。我正在从Kotlin代码调用Java接口(interface)中的静态方法。构建失败并出现错误,CallstostaticmethodsinJavainterfacesareprohibitedinJVMtarget1.6.Recompilewith'-jvm-target1.8'我的build.gradle中有以下内容,compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVersion.VERSION_1_8}我还在Kot

Android Studio 在调用 Java 接口(interface)中的静态方法的 Kotlin 项目中引发构建错误

我在AndroidStudio中有一个Kotlin项目。我正在从Kotlin代码调用Java接口(interface)中的静态方法。构建失败并出现错误,CallstostaticmethodsinJavainterfacesareprohibitedinJVMtarget1.6.Recompilewith'-jvm-target1.8'我的build.gradle中有以下内容,compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVersion.VERSION_1_8}我还在Kot

kotlin 协程。启动{乐趣}和启动{暂停乐趣}之间的区别

两者在执行上有什么区别吗?launch{function1()}funfunction1(){DoSomething...}和launch{function2()}suspendfunfunction2(){DoSomething...} 最佳答案 是的,有。从语义上讲,对挂起函数的调用可能会挂起执行,这可能会在稍后(或从不)恢复,可能在不同的上下文中(例如另一个线程)。为确保这一点,编译器以特殊方式处理对挂起函数的调用:它生成将当前局部变量保存到Continuation实例的代码并将其传递给挂起函数,并且调用之后的字节码中还有一个

kotlin 协程。启动{乐趣}和启动{暂停乐趣}之间的区别

两者在执行上有什么区别吗?launch{function1()}funfunction1(){DoSomething...}和launch{function2()}suspendfunfunction2(){DoSomething...} 最佳答案 是的,有。从语义上讲,对挂起函数的调用可能会挂起执行,这可能会在稍后(或从不)恢复,可能在不同的上下文中(例如另一个线程)。为确保这一点,编译器以特殊方式处理对挂起函数的调用:它生成将当前局部变量保存到Continuation实例的代码并将其传递给挂起函数,并且调用之后的字节码中还有一个

constructor - 如何在 Kotlin 的构造函数 block 之外访问辅助构造函数参数

我是Kotlin的新手,正在学习可用的教程。但是现在我似乎对辅助构造函数有疑问:在主构造函数中声明的参数可以在函数中访问,但是当我尝试使用辅助构造函数中的参数执行此操作时,出现错误:未解析的引用:nbr代码:classTest(_name:String){valname:String=_nameconstructor(_name:String,_nbr:Int):this(_name){valnbr:Int=_nbr}funprintNameAndNumber(){println("Name:$name")println("Number:$nbr")}}我很清楚我做错了什么,但谁能告诉

constructor - 如何在 Kotlin 的构造函数 block 之外访问辅助构造函数参数

我是Kotlin的新手,正在学习可用的教程。但是现在我似乎对辅助构造函数有疑问:在主构造函数中声明的参数可以在函数中访问,但是当我尝试使用辅助构造函数中的参数执行此操作时,出现错误:未解析的引用:nbr代码:classTest(_name:String){valname:String=_nameconstructor(_name:String,_nbr:Int):this(_name){valnbr:Int=_nbr}funprintNameAndNumber(){println("Name:$name")println("Number:$nbr")}}我很清楚我做错了什么,但谁能告诉

android - 如何将 Android 任务转换为 Kotlin Deferred?

Firebase匿名登录返回task(基本上是Googlepromiseimplementation):valtask:Task=FirebaseAuth.getInstance().signInAnonymously()如何创建signInAnonymous包装器,其中:是一个suspend函数,等待task完成暂停有趣的signInAnonymous():Unit它返回一个Deferred对象,异步传递结果有趣的signInAnonymous():延迟 最佳答案 包裹kotlinx.coroutines.tasks现在包括以下实

android - 如何将 Android 任务转换为 Kotlin Deferred?

Firebase匿名登录返回task(基本上是Googlepromiseimplementation):valtask:Task=FirebaseAuth.getInstance().signInAnonymously()如何创建signInAnonymous包装器,其中:是一个suspend函数,等待task完成暂停有趣的signInAnonymous():Unit它返回一个Deferred对象,异步传递结果有趣的signInAnonymous():延迟 最佳答案 包裹kotlinx.coroutines.tasks现在包括以下实

java - Kotlin 方法重载

以下声明在Kotlin中是合法的。funfoo():String="foo_1"funfoo():T="foo_2"asT作为我们得到的字节码:publicfinalstaticfoo()Ljava/lang/String;//signature()TT;//declaration:Tfoo()publicfinalstaticfoo()Ljava/lang/Object;也可以从Kotlin调用这两种方法。当我试图从Java中调用它们时,问题就来了:ClassKt.foo()Ambiguouscall.Bothmethodsmatch...如何避免这样的问题?如何处理这样的方法?如果