草庐IT

kotlin协程

全部标签

Java开发者的Golang进修指南:从0->1带你实现协程池

在Java编程中,为了降低开销和优化程序的效率,我们常常使用线程池来管理线程的创建和销毁,并尽量复用已创建的对象。这样做不仅可以提高程序的运行效率,还能减少垃圾回收器对对象的回收次数。在Golang中,我们知道协程(goroutine)由于其体积小且效率高,在高并发场景中扮演着重要的角色。然而,资源始终是有限的,即使你的内存很大,也会有一个限度。因此,协程池在某些情况下肯定也会有其独特的适用场景。毕竟,世上并不存在所谓的银弹,只有在特定情况下才能找到最优的解决方案。因此,在Golang中,我们仍然需要考虑使用协程池的情况,并根据具体场景来选择最佳的解决方案。今天,我们将从Java线程池的角度出

该系统找不到Kotlin中指定的文件

我尝试在同一软件包中从文件中读取,因此当我运行代码时,它会给我错误varbuffer:BufferedReader?=nullvalresult=try{buffer=BufferedReader(FileReader("file.txt"))valchars=CharArray(30)buffer.read(chars,0,40)0}catch(e:IndexOutOfBoundsException){println("Exceptionhandle")1}catch(e:FileNotFoundException){println(e.message)2}finally{buffer?.c

解决Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of ..

问题今天在启动项目时,项目启动不起来,报错:Error:Kotlin:ModulewascompiledwithanincompatibleversionofKotlin.Thebinaryversionofitsmetadatais1.5.1,expectedversionis1.1.13.如下图所示:分析经过分析,发现是ideadeKotlin版本过低导致,有两种解决方式:    一是将项目中的Kotlin版本降低;    二是升级idea中Kotlin的插件版本我采用的是在idea升级Kotlin插件升级kotlin插件版本1、升级方法1打开kotlin面板Windows系统:File-

【JoAPP】Android WebView与H5交互实现(JAVA+KOTLIN)

1、前言    最近一个应急平台的项目移动端开发,原计划用UNI-APP实现,客户想着要集成语音、视频通话功能,基于经验判断需要买一套IM原生移动端框架去结合H5整合比较合适,没想到最后客户不想采购,而且语音视频通话功能也迟迟未能完全确认,H5部分所开发的业务功能已经实现,但原生端开发模式迟迟未定,紧急时刻,决定启动前几年一直使用的一组android原生APP+H5(WEB)实现移动端开发,随即找了前几年的原生框架代码,发现与新的版本已不兼容,索性重新梳理,整理一套新的代码,也决定对外开放给朋友们使用,暂时延续之前内部框架名称JoApp,目前只整理了android+h5代码,后续还会将IOS版

从 SQLlin 的更新看 Kotlin Multiplatform 技术更迭

作者简介禹昂,携程移动开发专家,Google开发者专家(Android),上海KotlinUserGroup组织者,图书《Kotlin编程实践》译者。2022年底,我们在携程的Githuborganization下开源了SQLlin,SQLlin是一款基于KotlinDSL及KSP技术的,支持众多平台的KotllinMultipllatform SQLite数据库框架。感兴趣且不了解SQLlin的读者可以参考:《携程机票跨端KotlinDSL数据库框架SQLlin》一文。SQLlin作为携程机票移动端团队最为完备的一款开源项目,在接近1年的时间内经历了不少升级与换血式的更新,也见证了这一年Ko

Androidstudio加载编译时kotlin-compiler-embeddable一直下载中

打开网址https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.6.10/1.下载jar包2.配置下载jar文件到.gradle文件中文件路径:/Users/“用户名”/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.6.10/文件夹名称??3.上述第2步骤里面文件夹名称怎么获取呢?-------记录对应jar包的sha1,即直接浏览器打开https://r

android - 如何在 Kotlin/Native 中将 const char* 转换为 KString?

在C++文件中,我想将constchar*转换为KString,这样我就可以使用Kotlin/Native将KString传递给Kotlin文件.我相信答案在于功能OBJ_GETTER(utf8ToUtf16,constchar*rawString,size_trawStringLength)我在KString.cpp中找到的.但即使我在Memory.h中发现了使用过的define语句,我还没有设法从我自己的C++文件中正确调用函数utf8ToUtf16来获取KString。感谢您的帮助。 最佳答案 这取决于您希望如何与Kotlin

ios - 没有单元返回类型的Kotlin多平台Lambda调用

我有一个适用于Android和iOS的多平台Kotlin项目。通用模块中的功能编写如下:funtest(successCallback:(String)->Unit,errorCallback:(Error)->Unit){successCallback("success")}Android功能用法:Common.test(successCallback={Log.d(TAG,it)},errorCallback={Log.d(TAG,it)}})iOS使用功能:Common.test(successCallback:{itinprint(it)returnKotlinUnit()},

c# - 协程调用崩溃

我遇到了非常奇怪的崩溃:ExceptionType:EXC_BAD_ACCESS(SIGABRT)ExceptionCodes:KERN_INVALID_ADDRESSat0x00000004CrashedThread:0Thread0name:Dispatchqueue:com.apple.main-threadThread0Crashed:0libsystem_kernel.dylib0x3b1cc350__pthread_kill+81libsystem_c.dylib0x3b14311epthread_kill+542libsystem_c.dylib0x3b17f96eabo

DiffUtil + RecyclerView 在 Kotlin中的使用

很惭愧,做了多年的Android开发还没有使用过DiffUtil这样解放双手的工具。文章目录1DiffUtil用来解决什么问题?2DiffUtil是什么?3DiffUtil的使用4参考文章1DiffUtil用来解决什么问题?List发生变化,我们使用RecyclerView.Adapter.notifyDataChanged很熟练了如果List仅仅是一个item变化了,其他item没有变化怎么办?notifyItemChanged如果List仅仅是一个item移除了,其他item没有移除怎么办?notifyItemRemoved如果List部分item发生变化,其他的item都没有变化怎么办?