重学Android
ApkCore
重新来过
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重学Android——消息机制
Android消息机制本文源码Api28在Android在主线程的创建时,会自动创建一个looper,不需要我们自己来创建。那么Android应用启动流程中,会由AMS调用的ActivityThread类,它的main入口方法里:public static void main(String[] args) { ... Looper.prepareMai...原创 2019-06-06 00:22:47 · 363 阅读 · 0 评论 -
重学Android——OkHttp3源码解读
OkHttp3官网的介绍——An HTTP & HTTP/2 client for Android and Java applications。它的优点:支持http2,对一台机器的所有请求共享同一个socket支持连接池,支持连接复用,减少延迟支持透明gzip压缩响应体通过缓存避免重复的请求请求失败时自动重试主机的其他ip,自动重定向API调用方便OkHttp的使用...原创 2019-06-12 22:29:36 · 299 阅读 · 0 评论 -
重学Android——View的事件分发
本文源码Api28View的事件分发我们都知道,点击事件最重要的三个方法//用来进行事件分发public boolean dispatchTouchEvent(MotionEvent ev);//判断是否拦截某个事件public boolean onInterceptTouchEvent(MotionEvent ev);//处理touch事件public boolean onT...原创 2019-06-07 01:04:28 · 277 阅读 · 0 评论 -
重学Android——Glide4.x源码分析(1)
Glide4.x先来说下世面上常用的三种图片加载框架Picasso,Glide,FrescoPicasso与Glide相比:相似——api上的调用差不多,都支持内存缓存,glide是picasso的升级,性能有一定的提升差异缓存不同,picasso2级缓存,没有磁盘缓存,Glide三级缓存,内存-磁盘-网络的优先级加载黑乎乎。Picasso默认加载的图片格式是ARGB-8888,G...原创 2019-06-14 01:37:52 · 519 阅读 · 0 评论 -
重学Android——基于Android9.0的Activity启动流程
Activity系统的启动首先总结了解一下Android系统的启动:启动电源以及系统启动引导程序BootLoader——BootLoader是android操作系统开始运行前的一个小程序,它的主要功能就是把系统os拉起来并运行Linux内核启动——在内核启动后,会在系统文件中找到init.rc文件,并启动init进程init进程启动——初始化和启动属性服务,并启动zygote进程Zy...原创 2019-06-09 00:53:08 · 753 阅读 · 0 评论 -
重学Android——Binder运行机制
Binder昨天从源码角度看了Android9.0下Activity的启动流程,其中关于跨进程的调用,都使用到了Binder进行跨进程通信,那么今天来阅读下Android的FrameWork层怎么实现Binder的吧。IPCIPC是Inter Process Communication的缩写,意思是进程间通信。在Android系统中,每个应用都运行在一条独立的进程上,具有自己的DVM实例,而...原创 2019-06-09 18:36:04 · 353 阅读 · 0 评论 -
重学Android——Glide4.x源码分析(2)
Glide的加载流程接上文重学Android——Glide4.x源码分析(1)执行加载主流程接上一文,昨天讲到图片加载,最终调用到了onSizeReady的方法,调用了其中的engine.load方法 @Override public synchronized void onSizeReady(int width, int height) { stateVerifier.th...原创 2019-06-14 22:54:33 · 312 阅读 · 0 评论 -
重学Android——Rxjava2.x源码解析
Rxjava的诞生背景首先要从异步编程说起,最开始的原生的系统中,如果UI系统处理耗时任务,会引发ANR,所以都是放在子线程做耗时任务,比如网络请求或者IO操作,再来更新UI界面,这需要在主线程来完成,这样就涉及到了异步编程。最开始的异步编程主要有:使用Java自身提供的Future模型但这种异步结果获取比较困难,必须调用Future.get(),回去查看异步是否完成,如果完成,就返回...原创 2019-06-12 01:49:19 · 355 阅读 · 0 评论
分享