学习记录
2021/8/20 23:05:41
本文主要是介绍学习记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
2021.8.19
1:协程的代码效率不一定比多线程高,因为协程内部就是多线程(?)
协程可以使异步的代码写成同步,便捷易懂。
传统方式弊端,异步线程请求服务器,取得数据利用handler发送数据给主线程
对于有suspend的函数,自动开启异步线程
main主线程{ suspend函数(自动切出去又切回来) 更新ui }
2021.8.20
suspend函数内部得 手动开启协程
suspend的意义是什么
viewmodelScope {}默认主线程
suspend函数内部 withContext(Dispatcher....){}
主线程到IO线程——为协程的挂起 suspend
IO线程到主线程——为协程的恢复 resume
suspend起提醒作用,真正起挂起作用的是withContext里面的代码块
launch(Dispatchers.Main){ withContext(dispatchers.IO){} withContext(dispatchers.IO){} } 变成 launch(Dispatchers.Main){ func1() func2() } suspend fun func1(){ withContext(dispatchers.IO){} } suspend fun func2(){ withContext(dispatchers.IO){} }
协程就是线程的上层框架
Room的一个实体类在内部对应的就是一个数据库表,然后一个实体的实例就是表的一行
默认情况下,Room 使用类名作为数据库表名。如果您希望表具有不同的名称,请设置注释的 tableName
属性 @Entity
。同样,Room 默认使用字段名作为数据库中的列名。如果您希望列具有不同的名称,请将@ColumnInfo
注释添加 到该字段并设置该name
属性。以下示例演示了表和列的自定义名称:
官方文档,entity DAO Database
这篇关于学习记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南