随笔分类 -  Android源码解析

Andorid相关源码与第三方开源框架源码解析
摘要:一文详解 Okio 输入输出流Okio最初是作为OkHttp的一个组件出现,是 OkHttp 实现HTTP协议数据构建、解析中使用到的底层 IO 库。其相比于传统的 java.io 和 java.nio ,其在文件、网络等数据读写操作更加便捷、高效。 阅读全文
posted @ 2023-07-14 09:59 bjxiaxueliang 阅读(502) 评论(0) 推荐(0) 编辑
摘要:一文详解 Interpolator 动画插值器Interpolator 被用来修饰动画效果,定义动画的变化率。在Android源码中对应的接口类为TimeInterpolator,通过输入均匀变化的0~1之间的值,可以得到匀速、正加速、负加速、无规则变加速等0~1之间的变化曲线。 曲线举例: 如下图所示,为Android源码中Overshoot 阅读全文
posted @ 2021-08-30 19:39 bjxiaxueliang 阅读(3155) 评论(0) 推荐(0) 编辑
摘要:android:extractNativeLibs = true,gradle打包时会对工程中的so库进行压缩,最终生成apk包的体积会减小。但手机端安装apk时,系统会对压缩后的so库进行解压,从而造成用户安装apk的时间变长。 阅读全文
posted @ 2021-03-26 19:20 bjxiaxueliang 阅读(12405) 评论(1) 推荐(1) 编辑
摘要:OkHttp 是这几年比较流行的 Http 客户端实现方案,其支持HTTP/2、支持同一Host 连接池复用、支持Http缓存、支持自动重定向 等等,有太多的优点。 一直想找时间了解一下 OkHttp 的实现原理 和 具体源码实现,不过还是推荐在使用 和 了解其原理之前,先通读一遍 OkHttp 的 阅读全文
posted @ 2020-08-01 13:38 bjxiaxueliang 阅读(1842) 评论(0) 推荐(2) 编辑
摘要:最近工作比较忙,文章更新出现了延时。虽说写技术博客最初主要是写给自己,但随着文章越写越多,现在更多的是写给关注我技术文章的小伙伴们。最近一段时间没有更新文章,虽有工作生活孩子占用了大部分时间的原因,但也有自身的懒惰,这里向小伙伴们也向自己说一声抱歉... OkHttp 是这几年比较流行的 Http 阅读全文
posted @ 2020-07-30 22:28 bjxiaxueliang 阅读(12045) 评论(0) 推荐(1) 编辑
摘要:学习Okhttp实现源码时,发现其任务分发时用到了ArrayDeque。因此了解一下ArrayDeque的使用方式和实现原理。 一、Deque deque(double-ended queue)双端队列,是一种具有队列和栈的性质的数据结构。 双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的 阅读全文
posted @ 2020-06-04 14:57 bjxiaxueliang 阅读(1251) 评论(0) 推荐(0) 编辑
摘要:JsBridge主要用于“JS与Native的通信”,众所周知Android 4.2以下的WebView存在addJavascriptInterface漏洞的问题,为解决这一问题国内很多知名大厂很早就在各自项目中集成了JsBridge。 阅读全文
posted @ 2020-03-02 16:05 bjxiaxueliang 阅读(1325) 评论(0) 推荐(0) 编辑
摘要:RxJava—一个可以在JVM上运行的,基于观察者模式 实现异步操作的java库。其英文描述为:RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java 阅读全文
posted @ 2020-03-02 16:02 bjxiaxueliang 阅读(1246) 评论(0) 推荐(1) 编辑
摘要:今天在三星S8上遇见一个奇葩问题`Only fullscreen opaque activities can request orientation`,探究一下Android源码,出现这个错误的原因,以及解决方案。 阅读全文
posted @ 2020-03-02 16:01 bjxiaxueliang 阅读(9357) 评论(0) 推荐(0) 编辑
摘要:HashMap对于程序员来说并不陌生,无论是Java还是Android研发人员,HashMap都是日常广泛使用的数据结构,通过这篇文章探究一下其具体实现原理。 阅读全文
posted @ 2020-03-02 15:59 bjxiaxueliang 阅读(431) 评论(0) 推荐(0) 编辑
摘要:SparseArray与ArrayMap是Android提供的两个列表数据结构。SparseArray相比于HashMap采用的是,时间换取空间的方式来提高手机App的运行效率。而ArrayMap实现原理上也类似于SparseArray。 阅读全文
posted @ 2020-03-02 15:55 bjxiaxueliang 阅读(1470) 评论(0) 推荐(0) 编辑
摘要:`NanoHttpd`仅有一个Java文件的微型Http服务器实现。其方便嵌入式设备(例如:Android设备)中启动一个本地服务器,接收客户端本地部分请求;应用场景也非常广泛,例如:本地代理方式播放m3u8视频、本地代理方式加载一些加密秘钥等。 阅读全文
posted @ 2020-03-02 15:39 bjxiaxueliang 阅读(4616) 评论(0) 推荐(1) 编辑
摘要:`StateMachine`不是`Android SDK`中的相关API,是存在于`frameworks`层源码中的一个Java类。通过这篇文章探究一下其使用方式以及实现原理。 阅读全文
posted @ 2020-03-02 14:56 bjxiaxueliang 阅读(3655) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示