摘要:
转载请标明出处,维权必究:http://77blogs.com/?p=189 **一、在工程上新建一个Module。** **二、删除其余不必要的文件,最终目录结构如下:** ![image](https://img2023.cnblogs.com/blog/1019373/202307/10193 阅读全文
摘要:
AI(人工智能)技术正在改变我们的生活方式和工作方式,越来越多的人开始关注和使用AI相关的网站和应用程序。在这篇文章中,我将为大家介绍一些常用的AI网址导航,帮助您更好地了解和使用AI技术。 **AI Hub** AI Hub是由Google Cloud推出的一个开放平台,旨在帮助企业和开发者快速构 阅读全文
摘要:
async与launch一样都是开启一个协程,但是async会返回一个Deferred对象,该Deferred也是一个job async函数类似于 launch函数.它启动了一个单独的协程,这是一个轻量级的线程并与其它所有的协程一起并发的工作.不同之处在于 launch 返回一个 Job 并且不附带 阅读全文
摘要:
转载请标明出处:https://www.cnblogs.com/tangZH/p/16849169.html - [kotlin协程小记]- [协程的async使用]- [kotlin协程异常处理之-try catch ]- [kotlin协程异常处理之-CoroutineExceptionHand 阅读全文
摘要:
转载请标明出处,维权必究: https://www.cnblogs.com/tangZH/p/12543154.html Glide源码解析一,初始化 Glide源码解析二—into方法 Glide源码解析三(注册组件) Glide源码解析四(解码和转码) Glide作为一个强大的图片加载框架,已经 阅读全文
摘要:
RxJava + Retrofit怎么请求网络,具体的用法这里就不讲了,本文只讲一些重点源码。 版本如下: okhttp : "com.squareup.okhttp3:okhttp:3.10.0", okhttp3_integration : "com.github.bumptech.glide: 阅读全文
摘要:
本文基于SDK 29 一、ViewModel与LiveData的作用: 1、viewModel: 数据共享,屏幕旋转不丢失数据,并且在Activity与Fragment之间共享数据。 2、LiveData: 感知生命周期并且通知观察者刷新,防止内存泄漏。 一下用流程图的方式说明一下其是怎么工作的: 阅读全文
摘要:
本文基于SDK 29 一、ViewModel与LiveData的作用: 1、viewModel: 数据共享,屏幕旋转不丢失数据,并且在Activity与Fragment之间共享数据。 2、LiveData: 感知生命周期并且通知观察者刷新,防止内存泄漏。 二、用法 三、原理: 1、ViewModel 阅读全文
摘要:
归并排序 一、概念及其介绍 归并排序(Merge sort)是建立在归并操作上的一种有效、稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表 阅读全文
摘要:
Java内存模型即Java Memory Model,简称JMM。 JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM 是整个计算机虚拟模型,所以 JMM 是隶属于 JVM 的。 一、JVM构成: 1、类加载器(ClassLoader):在 JVM 启动时或者在类运行将 阅读全文