![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android-源码分析
文章平均质量分 91
JokAr-
这个作者很懒,什么都没留下…
展开
-
ByteX-shrink_r源码解析
ByteX是字节团队开源的一个字节码插桩工具,而shrink_r是其中的一个插件是用来对R文件常量内联,R文件瘦身;无用Resource资源检查;无用assets检查。就是为了解决上述问题中module工程里R文件没有被内联产生的一种方案,他通过ASM操作class文件进行操作对使用到R类变量的地方进行常量值替换,然后删除R文件从而达到减少包大小的目的。总共流程如下第一遍遍历traverse class获取到所有待替换R文件类变量的常量。原创 2022-12-01 09:30:55 · 829 阅读 · 1 评论 -
Okhttp3 链接池复用机制源码探索
前文对于http请求我们都知道开始于TCP链接的三次握手然后传输数据然后释放,如下图而当我们开启连接复用keep-alive后就是指在上一次链接不立马断开链接在超时范围内复用connection在timeout 空闲的时间内就会复用相同的Request来减少握手大幅度提高了网络请求效率;如下图而在Okhttp3中是怎么做到连接池复用的,本文从源码(版本v4.9.3)角度来进行探索Okhttp3的连接池复用、清理、回收机制连接池的代码类位于okhttp3.ConnectionPool,该类作为默原创 2022-05-18 13:03:55 · 1077 阅读 · 0 评论 -
Adnroid - startService启动过程源码分析
部分内容来自《Android开发艺术探索》ContextImplservice的启动是从ContextWrapper的startService()开始的, @Override public ComponentName startService(Intent service) { return mBase.startService(service); }方法里调用了mBase.startService(service);来启动service,而mBase的类.原创 2020-09-11 17:08:25 · 192 阅读 · 0 评论 -
Android-AsyncTask源码解析
AsyncTask 使用 public void test(){ MyAsyncTask myAsyncTask = new MyAsyncTask(); myAsyncTask.execute(""); } class MyAsyncTask extends AsyncTask<String, Integer, Boolean>{ @Override protected Boolean doInBack原创 2020-09-07 17:59:03 · 218 阅读 · 0 评论 -
SPI机制原理解析
SPI机制原理解析看了上篇spi使用后,你或许觉得spi太好用了吧,但或许也有疑问:为什么只能放在META-INF/services/目录下?为什么要用全路径命名?他的实现原理是什么?基于这两个问题,我们深入探究下ServiceLoader源码。构造函数 private ServiceLoader(Class<S> svc, ClassLoader cl) { ...原创 2020-03-22 17:54:46 · 440 阅读 · 0 评论 -
从App启动理解ContentProvider的创建
ActivityThread.main我们知道app的启动是从ActivityThread.main方法开始的,所以我们先从main看起 public static void main(String[] args) { ... //创建Looper Looper.prepareMainLooper(); //创建ActivityThread Ac...原创 2019-11-07 20:59:17 · 999 阅读 · 0 评论 -
从源码角度分析 - Activity.onCreate可以在子线程里更新UI么?
我们都知道字线程里更新不能更新UI,否则系统会报Only the original thread that created a view hierarchy can touch its views.错误,具体如下:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that crea...原创 2019-11-30 16:47:27 · 290 阅读 · 0 评论