自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 Retrofit2 源码分析

什么是Retrofit A type-safe HTTP client for Android and Java 一款在Java和Android平台上使用的类型安全的Http客户端Retrofit的特点将API请求转化为接口,具体的接口方法代替各个API使用注解标记请求方法类型、参数类型支持Multipart和文件上传将返回结果转化为对象,并可自定义数据转化器提供异步请求方式

2016-07-22 16:54:25 427

原创 ViewPager源码解析

ViewPager的滑动手势冲突解决方案所有解决滑动冲突的方法都避免不了要从 DispatchTouchEvent(MotionEvent ev); 事件分发 OnInterceptTouchEvent(MotionEvent ev); 事件拦截 OnTouchEvent(Motion ev); 事件消费 这三个回调方法入手,搞明白这个三个方法之间含义和关系,Android系统中的事件传递就

2016-07-18 11:24:59 680

翻译 HTTP性能优化

HTTP和TCP/IP的关系HTTP—>(TSL/SSL)—>TCP—>IP HTTP处于应用层、TCP处于传输层、IP处于网络层1、HTTP将所需要传输的数据以流的形式传递给TCP程序2、TCP解析数据中的IP地址和端口号,将数据流分割成数据段,并添加上TCP段首部,如TCP握手(ACK、SYNC等),源端口,目的端口、TCP校验和等3、TCP程序将包装好的TCP数据段叫给IP程序,IP程序在此

2016-07-17 11:15:36 2085

原创 Android热修复

ClassLoader禁止dex优化为class打上CLASS_PREVERIFIED标识 第一步:新建辅助类并单独生成一个dex,用于被其他类引用 第二步:使用javaasist在其他类的构造方法添加对辅助类的引用 第三步:在加载apk时,优先加载辅助类dexbug修复后生成差异包将差异包添加到DexList前面

2016-07-14 16:08:37 607

转载 Http缓存

缓存的好处减少冗余的数据传输,同样的请求由缓存的副本来应对。缓解了网络带宽瓶颈的问题,因为客户端会以网络路径上最慢的网速来访问服务器。降低了对原始服务器的要求,避免瞬间拥塞。降低了距离延迟,因为从较远的地方加载页面会更慢。缓存类型多级缓存 (2-3级)网状缓存(内容路由器)缓存步骤接收请求解析请求查询本地或获取远程新鲜度检测创建响应发送给客户端创建本次事务日志缓存命

2016-07-13 22:45:56 363

转载 史上最快的Android多渠道打包方案

参考博客原理 1、在目前的签名机制下,安装包目录下的META-INF目录下的文件不参与签名校验 2、在META-INF目录添加代表渠道信息的空文件 3、在程序中动态读取此文件信息 实现 几个需要事先定义好的文件名称:1、存储渠道名称的文件。2、用于复制到META-INF目录下的代表渠道信息的空文件第一步:使用Android Studio打包任意一个渠道包第二步:编写Python脚本,遍历出

2016-07-13 17:53:01 383

翻译 Http 分块传输编码 Transfer-Encoding: chunked

定义 分块编码就是把报文分割为若干大小已知的块,一次发送到接收端。常见使用场景 长连接 发送时无法获取主体长度其他传输场景 1、非长连接 即发送完数据后就断开连接 接收端读取到EOF(-1)即读取完毕 2、长连接 固定主体长度,通过响应头中的Content-Length决定是否读取结束。

2016-07-07 18:50:59 1697

转载 Android那些事

1、使用javah命令获取头文件时,报错“找不到android.graphics.Bitmap”类。解决方案:在javah命令后面添加 -bootclasspath选项,来指定引导类的路径。这里的引导类为android-sdk/plateforms/android-23/android.jar

2016-07-07 15:45:25 474

翻译 Android Train随堂记

Fragment添加到返回栈(BackStack),可以通过FragmentManager的getBackStackEntry(int index)获取指定位置的Fragment实例信息BackStackEntry。可以为Fragment回退栈添加监听addOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener

2016-07-05 11:59:20 525

翻译 Http请求和响应

请求报文请求报文包括:请求行、请求首部、请求实体一、请求行 (GET /test/index.html HTTP/1.1) 请求方法(get、post、put、delete、head、trace、options) 请求地址(/test/index.html) 请求报文使用的Http协议版本 二、请求首部三、请求实体响应报文 响应报文包括:响应行、响应

2016-07-04 18:57:28 514

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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