一.简介 接上一篇[Android实战]----基于Retrofit实现多图片/文件.图文上传中曾说非常想搞明白为什么Retrofit那么屌.最近也看了一些其源码分析的文章以及亲自查看了源码,发现其对Java网络编程及HTTP权威指南有了一个很好的诠释.一直以来,都信奉一个原则,在这个新技术日新月异的时代,如何在Java界立足,凭借的就两点: 1.基本功,包括:Java基本知识,(Java编程思想.Effective Java),Java进阶(Java虚拟机.Java设计模式).网络相关(这个时…
一.简单介绍 接上一篇[Android实战]----基于Retrofit实现多图片/文件.图文上传中曾说非常想搞明确为什么Retrofit那么屌. 近期也看了一些其源代码分析的文章以及亲自查看了源代码,发现其对Java网络编程及HTTP权威指南有了一个非常好的诠释.一直以来.都信奉一个原则.在这个新技术日新月异的时代.怎样在Java界立足.凭借的就两点: 1.基本功.包含:Java基本知识,(Java编程思想.Effective Java).Java进阶(Java虚拟机.Java设计模式).网络…
1.基本用法 创建接口 public interface GitHubService { @GET("users/{user}/repos") Observable<List<Repo>> listRepos(@Path("user") String user); } 创建Retrofit实例 Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.githu…
Android事件分发机制源码分析 Android事件分发机制源码分析 Part1事件来源以及传递顺序 Activity分发事件源码 PhoneWindow分发事件源码 小结 Part2ViewGroup事件分发过程 小结 Part3View事件分发过程 小结 Part1:事件来源以及传递顺序 Activity分发事件源码 public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.A…
原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 “365篇原创计划”第十一篇. 今天呢!灯塔君跟大家讲: JVM源码分析之Java对象头实现 HotSpot虚拟机中,对象在内存中的布局分为三块区域:对象头.实例数据和对齐填充. 对象头 对象头包括两部分:Mark Word 和 类型指针. Mark Word Mark Word用于存储对象自身的运行时数据,如哈希码(HashCode).GC分代年龄.锁状态标志.线程持有的锁.偏向线程ID.偏向时间戳等等,占用内存大小与虚拟机位长一致.…
备注 原发表于2016.05.03,资料已过时,仅作备份,谨慎参考 前言 大家好,我又来学习 Retrofit 了,可能这是最后一篇关于 Retrofit 框架的文章了.我发现源码分析这回事,当时看明白了,过些时候再看就想这写的啥玩意.所以大家还是多看多学多分析. 另外跟我自己文章结构组织也有很大关系,我尽量在以后加强这点,做到简洁清晰有层次. 这周我们要分析一下 ServiceMethod. ServiceMethod 是什么 ServiceMethod 会将你的接口方法调用转化为一个 Cal…
转载请注明出处 http://www.cnblogs.com/crashmaker/p/3549365.html From crash_coder linguowu linguowu0622@gamil.com 前言: 通过Android 自定义View及其在布局文件中的使用示例和Android 自定义View及其在布局文件中的使用示例(二),我们知道了如何使用自定义的View,以及Android绘制View的理论基础,其包含三个过程,测量View大小(通过onMeasure()方法实现),计算…
在Android中实现异步任务机制有两种方式,Handler和AsyncTask,它在子线程更新UI的例子可以参见我的博客(android基础---->子线程更新UI).今天我们通过一个小的案例去深入到AsyncTask的源码,去更好的理解AsyncTask的原理. 目录导航 AsyncTask的简要说明 AsyncTask的的简单的实际案例 AsyncTask的的源码分析 AsyncTask的原理总结 友情链接 AsyncTask的简要说明 一. AsyncTask的由来背景: 为了简化Han…
1.Android异步消息传递机制有以下两个方式:(异步消息传递来解决线程通信问题) handler 和 AsyncTask 2.handler官方解释的用途: 1).定时任务:通过handler.postDelay(Runnable r, time)来在指定时间执行msg. 2).线程间通信:在执行较为耗时操作的时候,在子线程中执行耗时任务,然后handler(主线程的)把执行的结果通过sendmessage的方式发送给UI线程去执行用于更新UI. 3.handler源码分析 一.在Activ…
本文配套视频: okhttp内核分析配套视频一 okhttp内核分析配套视频二 okhttp内核分析配套视频三 源码分析相关面试题 Volley源码分析 注解框架实现原理 基本使用 从使用方法出发,首先是怎么使用,其次是我们使用的功能在内部是如何实现的.建议大家下载 OkHttp 源码之后,跟着本文,过一遍源码. 官方博客栗子:http://square.github.io/okhttp/#examples OkHttpClient client = new OkHttpClient(); St…