自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (5)
  • 收藏
  • 关注

转载 OKHttp源码详解

首先大概看一下整个流程图:接下来讲解的思路将根据这个流程来。一、创建一个OkHttpClient对象:    OkHttpClient client = new OkHttpClient();二、怎么不见Builder呢?看下OkHttpClient的构造函数,其中new Builder(),这里采用了默认配置。OkHttpClient.Builder成员有很多

2017-11-30 15:39:15 298 1

原创 JVM详解

JVM整体结构:第一个模块:通过JVM  IDE将.java文件生成.class文件。具体的编译流程:核心就是对源文件的词法和语法进行一个分析。第二个模块:类加载器的子系统,将class文件的字节码加载到jvm对应的虚拟机内存中。类加载器的核心是classLoader,classLoader又是动态跟新的核心。JVM提供了所有classLoader,既以下四种:Bo

2017-11-14 20:06:51 1695 4

原创 dex文件与class文件如何生成

一、dex文件与class文件如何生成Class文件:可以被JVM所识别的文件。记录一个类文件的所有信息。文件结构:a)一种8位字节的二进制流文件。  b)各个数据按顺序紧密的排列,无间隙。  c)每个类或接口都单独占据一个class文件。Dex文件:可以被DVM所识别的文件。记录整个工程所有类的信息。文件结构:a)一种8位字节的二进制流文件。  b)各个数据按顺序紧密

2017-11-14 20:04:26 1368 1

原创 秋招Android面试总结:美团、携程、百度、腾讯、长银58

今年秋招自己分别先后拿下:携程、长银58消费金融、美团的offer。同时也参加过百度、腾讯、好未来、拼多多、cvte的面试,在这里总结一下,希望对后来之人有帮助。如果你正准备秋招或者春招可以参考以下三点:坚持、基础、能吹的项目。美团一面:最好的单例模式线程同步实现方式,介绍synchronized与volatile的具体区别APP瘦身你从哪里方面考虑设计模式快速排序美团

2017-11-20 15:08:35 4213 1

原创 插件化易混淆概念

2017-11-14 20:37:41 279

原创 Atlas插件化

框架核心原理:框架主要包括4个层次,每个层次都为上一层提供服务,每个层次都有自己不同的核心作用。我们的runtime层呢主要是负责管理插件的生命周期,而插件的生命周期呢又由安装、启动、激活以及运行这几个状态来组成。 1、容器的接入:         1)引入插件及依赖仓库2)引入atlas类型的plugin3)最后添加它的api库4)配置atlas参数2、Bun

2017-11-14 20:11:38 521

原创 small插件

small插件化集成:步骤:1、在gradle中先配置一些参数。2、在宿主工程中初始化我们的small,在application中初始化。3、以指定的规范来插件插件化,遵守命名规范,模块名需要以app开头,包名中需要包含app。因为Small会根据包名对插件进行归类。4、编译创建好的插件,在命令行中输入gradlewbuildBundle命令,如果没有异常的话我们的插件和宿

2017-11-14 20:10:42 387

原创 插件化实现基础

自定义插件化:  插件化对Manifest处理主要核心是有两个工作:第一个工作是文件的合并,就是文件的io操作,将所有的清单文件合并到总的manifest里面去。第二个点就比较复杂了:需要修改整个构建流程,这样的话新的构建流程才能将所有的插件中清单文件合并到数组manifest文件中。插件化框架如果加载插件当中的类:我们每一个插件都是一个apk,既然是apk 那么它里面

2017-11-14 20:10:07 326

原创 tinker热修复

Tinker的集成总结:首先在我们的gradle文件中去配置一个注解库,一个核心的SDK库,有了这两个库,我们还需要定义一个Tinkmanager对tinker API层做一层封装。有了这个Tinkmanager以后,我们第三步定义了一个CustomTinkerLike,这个对象继承于ApplicationLinke,在这个类中完成tinker的初始化,而为什么需要这个ApplicationLik

2017-11-14 20:09:01 259

原创 Andfix热修复

Andfix的patch文件生成过程:1、在gradle文件中去引入AndFix的热修复模块。2、对Andfix所有的API做出封装,封装采用单例模式。封装完以后再application类中完成AndFix的一个初始化。其中我们会调用PatchManager的2个方法。分别是init()方法、loadPatch()方法。3、利用apk新旧包,使用apkpatch命令生成apatch包。

2017-11-14 20:08:07 322

原创 Android的classLoader

Android的classLoader1、BootClassLoader和java中的boostrap相似 用来加载Android framework层class字节码文件2、PathClassLoader和java中的APPclassLoader相似,已经安装到系统的apk文件中的class文件。3、DexClassLoader和java中customclassLoader相似,

2017-11-14 20:07:08 331 1

PDF转Word工具

将PDF转成Word文档。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-01-14

ZigBee CC2530视频教程

ZigBee CC2530视频教程 最近在倒腾Zigbee,准备参加物联网全国大赛,学校有给我们发Zigbee开发板,但是对于喜欢折腾的我来说,用开发板还是不过瘾,起码也得知道怎么去画一块板子。于是乎,在百度一番后就有了下面这篇文章。 作为片上系统Soc,CC2530的集成度是非常高的,这也方便了我们开发者。搭建它的最小系统比较简单。

2018-01-07

计算机网络精讲视频教程

共105个课时,讲计算机网络基础,对你绝对非常有帮助!! 1、课程介绍 2、局域网 3、Internet和广域网 4、规划ip地址和MAC地址。。。。。 55、TCP和UDP的应用场景。。。。60、UDP首部。。。79、HTTPT协议和网址。。。。105、创建临时无线网络

2018-01-07

ZigBee无线网络和收发器

ZigBee是为低数据速率、短距离无线网络通信定义的一系列通信协议标准。基于ZigBee的无线设备工作在868MHZ, 915MHZ和2.4Z频带。其最大数据速率是250Kbps. ZigBee技术主要针对以电池为电源的应用,这些应用对低数据速率、低成本、更长时间的电池寿命有较高的需求。在一些ZigBee应用中,无线设备持续处于活动状态的时间是有限的,大部分时间无线设备是处于省电模式(也称休眠模式)的。因此,ZigBee设备在电池需要更换以前能够工作数年以上。

2018-01-07

OkHttp源码详解

详细讲解OKHttp的实现。。。。。。在网络请求的小节中,我们已经看到了Interceptor的布局,在负责和服务器建立连接的ConnectInterceptor之前,就是CacheInterceptor。他们执行过程就是:在建立连接之前,我们检查响应是否已经被缓存、缓存是否可用,如果可用则直接返回缓存的数据,否则就进行后面的流程,并在返回之前把网络的数据写入缓存。

2017-11-30

空空如也

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

TA关注的人

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