一个有思想的搬运工

我浑浑噩噩,却又不甘落寞

okhttp 读书笔记——默认的线程池,addNetworkInterceptor() 与 addInterceptor() 的区别,复用连接池

1、默认的线程池 在第一篇文章中有提过,okhttp 的异步请求是基于其内部的默认的线程池实现的。 而默认的线程池是在 Dispatcher 被实例化的。 public synchronized ExecutorService executorService() { if (executorS...

2019-03-10 21:28:05

阅读数 6

评论数 0

okhttp 源码解析笔记整理——拦截器与请求的实现

在第一篇文章 okhttp 源码解析笔记整理——同步、异步请求 中可以知道,不管是同步请求还是异步请求,都最终是通过 RealCall # getResponseWithInterceptorChain() 来实现真实的请求的。 Response getResponseWithIntercept...

2019-03-10 18:34:13

阅读数 4

评论数 0

okhttp 源码解析笔记整理——同步、异步请求

1、同步请求 okhttp 可以使用 RealCall # execute() 方法来进行一个同步的请求。 try { Response response = mOkHttpClient.newCall(request).execute(); } catch (IOException e)...

2019-03-10 11:49:23

阅读数 13

评论数 0

HTTP 笔记整理

1. 请求方法 补充: (1) HTTP协议中PUT和POST使用区别 (2) Methods can also have the property of “idempotence” in that (aside from error or expiration issues) the side-...

2019-03-10 09:47:45

阅读数 3

评论数 0

LeakCanary 源码解析笔记整理(二)

前一篇文章(LeakCanary 源码解析笔记整理(一))整理了有关 LeakCanary 检测 Activity 是否泄漏的相关源码以及原理的笔记。 然后这里再继续对该库的前期实现的进行相关的笔记整理。 ...

2019-02-19 20:46:28

阅读数 9

评论数 0

LeakCanary 源码解析笔记整理(一)

主要参考文章: 1、看完这篇 LeakCanary 原理分析,又可以虐面试官了! 2、LeakCanary 源码解析 3、Android 源码系列之从源码的角度深入理解LeakCanary的内存泄露检测机制(下)(这一篇比较老了) 这里的笔记直接切入主题 —— LeakCanary 是怎么实现检...

2019-02-17 22:51:23

阅读数 613

评论数 0

Android 实现序列化的两种方式 笔记整理

笔记内容基于:《Android 开发艺术探索》 额外参考博客:https://blog.csdn.net/qq_35246620/article/details/77686098 序列化的作用: 在网络上传送对象的字节序列; 把对象的字节序列永久地保存到本地。 静态变量属于类不属于对象,不会...

2018-12-11 22:03:37

阅读数 47

评论数 0

Binder 理论部分笔记整理

主要参考文章: Android Bander设计与实现 - 设计篇 墙裂推荐!!! https://github.com/GodCoder/Blog.me/issues/13 Binder学习指南 1. Binder 是什么? Binder 是 Android 系统独有的进程间通信(IPC)方...

2018-11-02 19:32:41

阅读数 90

评论数 0

Handler 笔记总结

有关 Handler 实现线程切换的原理笔记总结 ...

2018-10-22 17:37:41

阅读数 53

评论数 0

《 Android 开发艺术探索》 View 的位置参数与使用 scrollTo/scrollBy 进行滑动

在《Android开发艺术探索》中有提到过,View 的位置主要由其四个顶点来决定,分别对应 View 的四个属性:top、left、right、bottom,且这四个点是相对于 View 的父容器来说的,是一种相对坐标。 另外,在 Android 3.0 以后,View 还增加了几个参数:x、...

2018-09-11 16:34:34

阅读数 39

评论数 0

《 Android 高性能编程》——第 10 章:提高性能的小技巧

1、图像的加载 P336 - 342 (1)如果要处理一个非常大图像,可以使用 BitmapRegionDecoder 将图片进行区域解码,得到部分图像。 (2)通过设置 BitmapFactory.Options.inJustDecodeBounds 可以只得到图像的分辨率而防止其加载到内存...

2018-05-09 17:15:10

阅读数 206

评论数 0

《 Android 高性能编程》——第 5 章:多线程

1、进程 P176 - 177 可以为组件指定进程,通过在 manifest 文件中使用特殊的属性: <service android:name=".MyService" android:process=&q...

2018-05-01 22:36:43

阅读数 39

评论数 0

《 Android 高性能编程》——第 4 章:内存

1、内存共享 P104 - 105 Android 中的每个应用程序都有自己的进程。 每个新进程都是由 Zygote 进程派生而来( fork )的,目的是使得应用程序快速启动,因为 Zygote 进程一直存在于内存之中,fork 过来便可直接使用它的一些资源,减少加载时间。而且,并不是所有资...

2018-04-24 17:06:44

阅读数 254

评论数 0

《Android 高性能编程》—— @IntDef 注解,减缓枚举的使用

在书中的 P120 - 123,有介绍枚举,因为枚举对开发者友好,数量有限的元素、描述性的文字,可以增强代码的可读性,并且还支持多态。 但是在性能上说,使用枚举却不一定是最佳的选择,因为枚举在经过编译器之后,变成了一个抽象类,它继承了 java.lang.Enum,为其定义的枚举常量则会变成相应...

2018-04-17 14:18:26

阅读数 291

评论数 0

Android 中的“前台”与“后台”相关定义整理

“前台”指前台进程,“后台”指后台进程。 1、用于服务限制目的 如果满足以下任意条件,应用将被视为处于前台: 具有可见 Activity(不管该 Activity 已启动还是已暂停)。 具有前台服务。 另一个前台应用已关联到该应用(不管是通过绑定到其中一个服务,还是通过使用其中一个...

2018-04-16 23:22:44

阅读数 389

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭