pxfile Blog

Thinking will not overcome fear but action will.

Retrofit

Retrofit Android:手把手带你深入剖析 Retrofit 2.0 源码 Retrofit 的具体使用 这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解) 网络请求的处理流程 Retrofit的本质流程 一般从网络通信过程如下图: 其实Retrofit的本质和上面是一样的套路 只是Retrofit通过使用大量的设计模式进行功能模块的解耦,...

Android Volley

Android-Volley Android Volley完全解析(四),带你从源码的角度理解Volley Volley到底有哪些特点呢? 自动调度网络请求 多个并发的网络连接 通过使用标准的HTTP缓存机制保持磁盘和内存响应的一致 支持请求优先级 支持取消请求的强大API,可以取消单个请求或多个 易于定制 健壮性:便于正确的更新UI和获取数据 包含调...

Android 混淆

Android-混淆 注意事项 1,jni方法不可混淆,因为这个方法需要和native方法保持一致; -keepclasseswithmembernames class * { # 保持native方法不被混淆 native <methods>; } 2,反射用到的类不混淆(否则反射可能出现问题); 3,AndroidMainfest中的类不混淆,所...

Android Hook以及插桩技术

Android-Hook以及插桩技术 Android AOP之字节码插桩 插桩的概念是以静态的方式修改第三方的代码,也就是从编译阶段,对源代码(中间代码)进行编译,而后重新打包,是静态的篡改; 而hook则不需要再编译阶段修改第三方的源码或中间代码,是在运行时通过反射的方式修改调用,是一种动态的篡改 插桩的概念: 插桩就是在代码中插入一段我们自定义的代码。 插桩的目...

Android Evenbus

Android-EvenBus subscribe()方法的实现 事件分发过程源码分析 解除注册源码分析 最终分别从typesBySubscriber和subscriptions里分别移除订阅者以及相关信息即可. 广泛的使用EventBus做消息的通知,可以说是目前消息通知里最好用 的项目.但是业内对EventBus的主要争论点是在于EventBus使用反射会出现性能问题,关于反...

内置和外置存储卡

Android 内置和外置存储卡 彻底理解android中的内部存储与外部存储 我们先来考虑这样一个问题: 打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的时候又是清除的哪里的数据?读完本文相信你会有答案。 在android开发中我们常常听到这样几个概念,内存,...

Android Arouter原理

Android-ARouter原理 Alibaba-ARouter 源码分析笔记 原生跳转和路由跳转的差异。 (1)显示跳转需要依赖于类,而路由跳转是通过url索引,无需依赖 (2)隐式是通过AndroidMainfest集中管理,协作开发困难, (3)原生需要在AndroidMainfest里面注册,而路由是用注解来注册 (4)原生只要启动了startActivity就交由And...

Recyclerview与listview的缓存机制比较

RecyclerView与ListView的缓存机制比较 1、Bugly-Android ListView 与 RecyclerView 对比浅析–缓存机制 2、RecyclerView 必知必会 RecyclerView回收机制 RecyclerView和ListView的回收机制非常相似,但是ListView是以View作为单位进行回收,...

Recyclerview 和 listview

RecyclerView 和 ListView 布局效果对比 ListView只有一种滑动布局 RecyclerView通过布局管理器能展示多种布局 API 使用对比 ListView 的基础使用大家再熟悉不过,其使用的关键点主要如下: 继承重写 BaseAdapter 类 自定义 ViewHolder 和 convertView 一起完成复用优化工作 由于 ListVi...

Multidex,分包

multidex,分包 Android分包MultiDex源码分析 dex分包变形记 Android最大方法数和解决方案 MultiDex的产生背景 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimise...