
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
延时循环执行事件很简单,且有很多方式,但想要延时相对精确,就需要稍微设计一下了,众所周知我们常用的操作系统都不是实时操作系统,比如Windows,Linux,Android等,所以我们上面的延时操作不管是Thread.sleep(1000)还是delay(1000)都不一定会在1000毫秒后恢复,我们测试一下

报错信息There is still an unbound symbol after generation of IR module :Unbound public symbol IrSimpleFunctionPublicSymbolImpl: xxx
json解析框架有很多,但Kotlin跨平台只能使用kotlinx-serialization-json而官方没有提供检查是否bean类都加注解,或者一键给某个包自动加注解的功能,导致可能会出现运行时的崩溃,所以我们可以自己用ksp写个程序来检查一下。

前言目前安卓开发一般都是用的mvvm模式,Jetpack的ViewModel是必不可少的一部分,而vm的生命周期要比Activity和Fragment长的,所以其一般不推荐其直接持有A或F,因为可能会造成内存泄漏的问题,但是不传入,Context的获取和显示网络加载弹窗又成了问题.正文首先解决显示网络加载弹窗的问题,其有两种方案:1.使用MutableLiveData首先我们在BaseViewMo

前言我们都知道Java中一直在说万物皆对象,面向对象编程,但基本数据类型却不是对象,而Kotlin中的所有类型都是对象,包括基本数值类型和方法,而数值对象的运行效率不如基本数据类型(具体请自行搜索);猜测那么,Kotlin中使用数值进行运算是否会比Java中使用数值运算效率更慢呢?理论在Java平台上,Kotlin的数字类型被物理存储为JVM原始类型,除非需要一个可空的...

前言kotlin中使用协程,是一定要跟协程作用域一起配合使用的,否则可能协程的生命周期无法被准确控制,造成内存泄漏或其他问题.我们一般在安卓项目中使用协程作用域,可能会在BaseActtivity中new 一个MainScope(),并在onDestory时cancel掉,或者只在ViewModel中使用viewModelScope,然后会在ViewModel的onClose中自动cancel掉.

前言众所周知,kotlin中有ArrayList<Int>,Array<Int>,IntArray,可他们都有什么区别呢?为什么要有这么多大致相同的类型?正文我们先看一下他们相对于jvm中的类型ArrayList<Int> = ArrayList<Integer>Array<Int> = Integer[]IntArray = int[]

前言Flutter1.0正式版发布了,可以一份代码同时兼容Android,Ios,听说后面可能还会支持Web和pc貌似是以后的趋势,所以先来试一下,沾个脚印咳咳,针对Windows1.下载Fluter SDK官方下载地址:https://flutter.io/docs/get-started/install/windows不过需要科学上网,但是我下载好传到百度云盘了,网...

很简单,就一个方法但是也得注意,上面的方法是针对泛型的,如果只是基本数据类型,推荐使用相应的方法,在JVM上可以减少拆装箱带来的消耗1.使用 MutableState 的对象,通过控制 MutableState 对象的 value 属性来获取和设置值2.使用 MutableState 的解构声明,获取 value 和 setValue(高阶函数) 来使用可以看到其声明,value 和 setVal

前言之前写过一篇文章写一个逻辑清晰的startActivityForResult(),拒绝来回扒拉代码,写了使用回调形式使用startActivityForResult方法,配合Kotlin的语法,可以很简单的处理startActivityForResult的返回数据和返回时机.ps:由于之前名字使用startActivityForResult会导致有时导错包,所以现在名字改成了jumpForRe








