首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Android Sources
订阅
justin27
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 0订阅
Android ViewModel,再学不会你砍我
MVVM与MVP相比最大的区别就是用ViewModel(后文简称VM)代替了原来的P层,这里的VM就是ViewModel。一句话概括它的特点---对数据状态的持有和维护。换言之,它将原来P层关于数据的逻辑运算与处理统一放到了VM中,而剩余的V层的操作建议使用Databindin…
Java集合框架分析(五)LinkedHashMap分析
继承自 HashMap,一个有序的 Map 接口实现,这里的有序指的是元素可以按插入顺序或访问顺序排列;与 HashMap 相比,因为 LinkedHashMap 是继承自 HashMap,因此LinkedHashMap,同样是基于散列表实现。同时实现了 Serializabl…
并发容器之ConcurrentHashMap(JDK 1.8版本)
在使用 HashMap 时在多线程情况下扩容会出现 CPU 接近 100%的情况,因为 hashmap 并不是线程安全的,通常我们可以使用在 java 体系中古老的 hashtable 类,该类基本上所有的方法都采用 synchronized 进行线程安全的控制,可想而知,在高…
Android Jetpack之ViewModel源码分析
在Android开发的时候,使用Activity、Fragment的生命周期的变动有时候是不受开发人员控制的(比如横竖屏切换,导致Activity销毁并重新创建),各种因素导致Android界面或被系统重新创建。当Activity需要重新创建的时候,之前与之绑定的数据也会丢失(…
EventBus源码解析
最近跟一位前辈聊了一下学习方法,聊了很多,也收获了很多。从交流的过程中前辈送给我一句话:“学以致用,格物致知”。听完之后意识到之前的学习方法有很大的问题,在以后的学习中需要更多的和实践相结合,做到学以致用。各位小伙伴们有什么更好的学习方法吗?欢迎留言交流。 本篇文章将会讲一下E…
Android 主流开源框架(六)Glide 的执行流程源码解析
最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。 这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统…
Handler后传篇一: 为什么Looper中的Loop()方法不能导致主线程卡死?
其中每一条线程只有一个消息队列MessageQueue, 消息的入队是通过 MessageQueue 中的 enqueueMessage() 方法完成的, 消息的出队是通过Looper 中的loop()方法完成的. Android 是单线程模型, UI的更新只能在主线程中执行,…