![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android源码分析
wjxbless
如果觉得简单,那就多思考
展开
-
Jetpack -- ViewModel使用与分析
简介使用Android AAC组件构建自己的应用之后,为了不让自己停留在仅仅是使用的层面,所以从头开始总结一边AAC组件的使用以及注意的要点ViewModel旨在以注重生命周期的方式存储和管理界面相关的数据, ViewModel 类让数据可在发生屏幕旋转等配置更改后继续存在作用:将View中的数据模块进行单独的管理,使得Activity和Fragment更加简单,只需要专注于界面本身...原创 2020-03-23 19:12:07 · 324 阅读 · 0 评论 -
Jetpack -- LiveData使用与源码流程分析
简介LiveData是给定生命周期的一个数据持有类LiveData配合ViewModel可以将Controller中的逻辑更加简单,在数据进行变动的时候可以通过注入观察者来监听数据的变化LiveData可以感知实现LifecycleOwner组件的生命周期,只有在上述组件的激活状态 (STARTED, RESUMED) 才会通知观察者数据更新当组件的生命周期到了DESTROYED状态的时...原创 2020-03-24 15:24:26 · 509 阅读 · 0 评论 -
Handler源码分析
Handler整体架构handler能做什么? 1. 推送未来某个时间点将要执行的Message或者Runnable到消息队列 (处理延时任务) 2. 在子线程需要在 另一个线程执行的操作加入到消息队列中去 (线程间通信)源码分析 - 首先从Handler.sendmessage()出发发现最后调用MessageQueue.enqueueMessage(),...原创 2019-03-25 13:07:01 · 123 阅读 · 0 评论 -
Android APP编译流程
Android Gradle plugin的具体流程首先上一张官方的图:[外链图片转存失败(img-QMFtfIiX-1562588711680)(en-resource://database/5304:1)]首先通过aapt打包res资源文件,生成R.java、resources.arsc和res文件(二进制&非二进制保持原来的代码)处理.aidl文件,生成对应的Java接...原创 2019-07-08 20:26:09 · 770 阅读 · 0 评论 -
MMKV组件实现原理以及和SharedPreferences的比较(一)
MMKV组件简介MMKV项目地址MMKV是基于mmap内存映射关系的key-value组件,底层序列化/反序列化使用protobuf实现。性能高,稳定性强。从2015年就在微信上使用,已经移植到了Android/MacOS/Windows平台SharedPreferences实现原理SharedPreferences是Android提供的一种使用XML文件保存内容的机制,内部通过XM...原创 2019-07-08 21:47:43 · 1034 阅读 · 0 评论 -
MMKV组件实现原理以及和SharedPreferences的比较(二)
MMKV数据结构上面提到的SharedPreferences使用的是xml来进行文件存储的<map> <int name = "4970" value="4970"/> <int name = "4971" value="4971"/> <int name = "4972" value="4972"/> <...原创 2019-07-09 19:50:40 · 588 阅读 · 0 评论