摘要: 协程 协程是什么? 协程是可以由程序自行控制挂起、恢复的程序。 协程可以用来实现多任务的协作执行。 协程可以用来解决异步任务控制流的灵活转移。 协程的作用? 协程可以让异步代码同步化。 协程可以降低异步程序的设计复杂度。 挂起和恢复可以控制执行流程的转移。 异步逻辑可以用同步代码的形式写出。 同步代 阅读全文
posted @ 2020-07-02 20:48 甜树果子二号 阅读(311) 评论(0) 推荐(0) 编辑
摘要: Kotlin Kotlin的变量、函数、类型 Kotlin 的变量、函数和类型 构造器、final、静态属性和静态方法、常量、数组和集合、可见性修饰符 Kotlin里那些不是这么写的 构造器、函数简化、字符串、数组和集合、条件控制 Kotlin里那些更方便的 高阶函数、函数引用分、匿名函数、Lamb 阅读全文
posted @ 2020-06-24 19:05 甜树果子二号 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 数据绑定库和MVVM 文章 官方-数据绑定库 美团-如何构建Android MVVM 应用框架 数据绑定库 数据绑定的作用? 使用DataBinding库就可以把数据源分配到控件上,自动更新UI内容,无需再手动编写设置数据的代码。数据绑定库会自动生成将布局中的视图和数据对象绑定所需的类,也提供了可在 阅读全文
posted @ 2020-06-24 18:28 甜树果子二号 阅读(159) 评论(0) 推荐(0) 编辑
摘要: LiveData 文章 官方-LiveData概览 实习-LiveData数据流设计入门 个人总结 LiveData解决了什么问题,有什么优势? LiveData具有生命周期感知能力,那么它就可以只更新处于活跃生命周期状态的应用组件的观察者。它遵循了观察者模式,LiveData通过通知Observe 阅读全文
posted @ 2020-06-23 18:42 甜树果子二号 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 函数式编程 文章 什么是函数式编程? 官方-函数式编程 个人总结 函数式编程是什么? 我觉得是数学当中代数计算的拟合,编码的形式上类似于我们在数学当中对函数的使用,编码可以使用函数类型的参数以及返回值也可以是函数类型。 函数式编程的优势? 通过将函数式编程的思维方式体现在代码上,编码更加集中和简洁, 阅读全文
posted @ 2020-06-23 15:54 甜树果子二号 阅读(119) 评论(0) 推荐(0) 编辑
摘要: Android当中替代HashMap的数据结构ArrayMap、SparseArray HashMap的缺点 在Android系统中,内存有限,而HashMap占用的内存空间较大,插入键值对需要创建新的结点,而且需要对插入的键值进行自动装箱。因此可以采用时间换空间的方式使用一些更加轻量的数据结构例如 阅读全文
posted @ 2020-05-16 10:45 甜树果子二号 阅读(519) 评论(0) 推荐(0) 编辑
摘要: HashMap、LinkedHashMap、TreeMap HashMap 底层结构 数组 链表 当链表的长度大于等于 8 时,链表会转化成红黑树; 红黑树 当红黑树的大小小于等于 6 时,红黑树会转化成链表。 常见属性 主要操作 新增 链表的新增 链表的新增比较简单,就是把当前节点追加到链表的尾部 阅读全文
posted @ 2020-05-06 01:14 甜树果子二号 阅读(196) 评论(0) 推荐(0) 编辑
摘要: ArrayList和LinkedList ArrayList 底层结构 数组 主要操作 初始化 无参数直接初始化 指定大小初始化 指定初始数据初始化 添加元素与扩容 添加元素 判断是否需要扩容,如果需要,就执行扩容操作; 扩容完成之后,赋值是非常简单的,直接往数组上添加元素即可:elementDat 阅读全文
posted @ 2020-05-05 22:45 甜树果子二号 阅读(186) 评论(0) 推荐(0) 编辑
摘要: Android的线程和线程池 主线程和子线程 Android沿用Java的线程模型,分为主线程和子线程,其中主线程主要处理和界面相关的事情,也叫UI线程。主线程的作用是运行四大组件以及处理它们和用户的交互,而子线程的作用则是执行耗时任务,比如网络请求、IO操作等等。由于Android的特性,如果在主 阅读全文
posted @ 2020-05-01 10:44 甜树果子二号 阅读(419) 评论(0) 推荐(0) 编辑
摘要: SurfaceView和普通View的区别、以及TextureView SurfaceView和普通View的区别 首先,SurfaceView是在一个新开的子线程中可以重新绘制画面,而view必须在UI的主线程中更新画面。 出现 SurfaceView 的原因在于:虽然说通常情况下 View 已经 阅读全文
posted @ 2020-04-23 10:30 甜树果子二号 阅读(1700) 评论(0) 推荐(0) 编辑