上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 24 下一页
摘要: 对JVM的内存有了一定理解后,再来看JVM是如何加载类,以及Java的反射机制 一、类加载过程 有了前面的了解,我们知道Java文件先要编译成class文件,再由JVM加载class到方法区成为类元信息,最后实例化class对象,加载类的过程又可以细分为:加载、连接、初始化、使用、卸载 类加载生命周 阅读全文
posted @ 2021-10-04 21:49 aruba_233 阅读(26) 评论(0) 推荐(0)
摘要: 接着上篇文末,来详细了解堆,这也是我们做性能优化时针对的地方 上次提到堆中存放着实例化的对象,我们知道c语言中没有类的概念,只有结构体,Java中的类最底层实际上也是一个结构体,实例化的类,我们又称为引用型对象,实际就是一个指针指向结构体的内存,结构体内存是连续的空间 下面的c代码计算了结构体的内存 阅读全文
posted @ 2021-09-29 22:02 aruba_233 阅读(55) 评论(0) 推荐(0)
摘要: 安卓高级工程师想要做性能优化、NDK、设计架构时的健全性等工作时,必须是对JVM有一定的了解。技术的路越往上走,就越需要对底层的理解。计算机原理、c/c++语言、JVM原理、数据结构与算法等知识缺一不可。在学习的过程中,一开始觉得知识是线性的,就像一个数组,只需要不断往里面填充数据,然而后面越学习, 阅读全文
posted @ 2021-09-27 20:51 aruba_233 阅读(20) 评论(0) 推荐(0)
摘要: 前面我们使用Java来运用JetPack中的一系列组件,又使用kotlin运用这些组件实现了一系列功能: kotlin--Flow文件下载kotlin--Flow结合Room运用kotlin--Flow结合retrofit运用kotlin--StateFlow运用kotlin--SharedFlow 阅读全文
posted @ 2021-09-25 21:06 aruba_233 阅读(204) 评论(0) 推荐(0)
摘要: 前面我们使用过Paging,最新版本Paging3和以前对比,有所改动 Paging2->Paging3三个模块改为: 1.DataSource->PagingSource : 数据从该模块中获取,数据可以来源于网络、本地数据库等 2.PagedList->Pager : 负责具体获取数据的逻辑,何 阅读全文
posted @ 2021-09-22 16:38 aruba_233 阅读(81) 评论(0) 推荐(0)
摘要: Flow为上流发射,下流接收,是一对一的,而SharedFlow可以一对多,发射一次,多端接收 效果: 1.定义一个类,来对MutableSharedFlow对象作操作 package com.aruba.flowapplyapplication.common import kotlinx.coro 阅读全文
posted @ 2021-09-22 09:55 aruba_233 阅读(41) 评论(0) 推荐(0)
摘要: StateFlow当值发生变化,就会将值发送出去,下流就可以接收到新值。在某些场景下,StateFlow比LiveData更适用 效果: 1.定义ViewModel StateFlow需要初始值 package com.aruba.flowapplyapplication.viewmodel imp 阅读全文
posted @ 2021-09-21 14:53 aruba_233 阅读(88) 评论(0) 推荐(0)
摘要: kotlin集成retrofit获取网络数据,将数据通过Flow发射 效果: 1.定义实体类和网络相关 实体类: package com.aruba.flowapplyapplication.model data class Article(val id: Int, val text: String 阅读全文
posted @ 2021-09-21 13:06 aruba_233 阅读(84) 评论(0) 推荐(0)
摘要: kotlin结合Room在实际项目中的运用 架构还是MVVM,DataBinding+ViewModel+LiveData的组合 效果: 1.首先添加Room依赖 添加kapt插件: plugins { id 'com.android.application' id 'kotlin-android' 阅读全文
posted @ 2021-09-20 21:05 aruba_233 阅读(109) 评论(0) 推荐(0)
摘要: 学习了kotlin后,我们将它运用到实际开发中,结合Flow实现文件下载 最终效果: 项目使用了Navigation框架:Activity+Fragment的方式 导入依赖: implementation 'androidx.navigation:navigation-fragment-ktx:2. 阅读全文
posted @ 2021-09-19 15:34 aruba_233 阅读(90) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 24 下一页