
Android 框架
文章平均质量分 69
qq_21727627
一个苦逼的又爱装逼的程序员
展开
-
android 任务流 alpha
笔记原创 2021-12-21 14:36:55 · 1034 阅读 · 0 评论 -
android 消息模型之 执行源码分析
1.在我看来 一个持续运行应用程序 就是main方法进入 ,然后在里面使用消息模型不断接受系统或者用户的请求并作出对应的处理.例如qt 的信号与槽 ,win32 消息映射(要自己实现) ,android 的handler+looper .他们共同的点一直做死循环,避免程序一运行就退出,并且不断接受系统或者用户的请求并作出对应的处理.2.那么android应用 最开始是在哪个类进行死循环的...原创 2019-05-07 16:46:28 · 153 阅读 · 0 评论 -
Android ThreadLocal 源码分析
1.为啥 说是Android ThreadLocal ,而不是java ThreadLocal,因为Android 对它进行了优化.优化地方:内存复用,使用弱引用解决内存泄漏.而且他们处理方式也不同Java 使用类来包裹 key和value的.使用魔数0x61c88647, 计算得到的索引值偶数和奇数之间不断切换.而Android 只是在偶数索引index 存放key ,index+1来存放值....原创 2019-05-09 17:23:01 · 348 阅读 · 1 评论 -
从官网学习volley框架之执行流程源码分析
在学习的android 系统源码时 发现了volley 这个库,于是就学习学习.1.volley 官网使用说明地址:volley 从官网就知道volley 简单的使用,优点和缺点优点:Automatic scheduling of network requests. //自动处理网络请求 Multiple concurrent network connections.// 适用多并...原创 2019-04-26 15:28:45 · 168 阅读 · 0 评论 -
retrofit 整体构架认识
直接上图: OkHttpClient 也是外观类,参数太多不好画,也没必要.retrofit :是一个对网络库的使用进行了封装的第三方库. 我们只需要操作 retrofit实例就可以得到你想要的结果,屏蔽内部原理,使用更加简单.并且提供了拔插式的配置如:OkHttpClient.Call.factory 网络实现,Converter.Factory 转换工厂,CallA原创 2018-01-12 15:39:49 · 278 阅读 · 0 评论 -
dagger2的生成源码简单分析
dagger2官方GitHub: 点击打开链接直接上图,自己对dagger2构架的见解:这里使用的是官方的实例分析的. 并稍微修改了CoffeeApp@Singleton@Component(modules = {DripCoffeeModule.class})public interface CoffeeApp { void inject(App co原创 2017-11-27 15:14:50 · 572 阅读 · 0 评论 -
OkHttp 同步方法流程
OkHttp 基本使用官网更为详细:点击打开链接 异步流程OkHttp Dispatcher 源码解析 OKHttp 执行拦截器前 RetryAndFollowUpInterceptorBridgeInterceptorCacheInterceptor 基于CallServerInterceptor 文件上传监听一. 创建OkHttpClient 对象private void init() {...原创 2018-01-11 14:36:26 · 934 阅读 · 0 评论 -
OkHttp Dispatcher 源码解析
1.常用的属性 private int maxRequests = 64; //限制最大的请求数量 private int maxRequestsPerHost = 5; 限制ip或者域名相同时不可超过 private @Nullable Runnable idleCallback; //空闲回调,在finished()方法触发 /** Executes calls. Cre...原创 2018-01-11 14:38:06 · 431 阅读 · 0 评论 -
OkHttp 异步网络请求流程
直接上码: public void doGet(View view) { Request request = new Request.Builder().url(BASEURL + "login") .get().cacheControl(CacheControl.FORCE_NETWORK).build(); okHttpClient.newCall(request)....原创 2018-01-11 14:37:27 · 1176 阅读 · 0 评论 -
OKHttp 执行拦截器前
在同步和异步方法中都调用getResponseWithInterceptorChain():Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of interceptors. List<Interceptor> interceptors ...原创 2018-01-11 14:38:48 · 615 阅读 · 0 评论 -
OkHttp 上传监听
其实就是对网络请求RequestBody进行来代理.使用:public void upload(View view) { File externalStorageDirectory = new File(Environment.getExternalStorageDirectory ().getAbsoluteFile(), "nihao.apk"); Log.e(TA原创 2018-01-11 14:40:37 · 684 阅读 · 0 评论 -
retrofit 异步流程
直接上码:public void retrofit(View view) { Retrofit retrofit = new Retrofit.Builder() .baseUrl(BASEURL) .build(); HttpService httpService = retrofit.create(HttpService.class); httpSer...原创 2018-01-12 17:24:03 · 582 阅读 · 0 评论 -
BridgeInterceptor
这个是第二执行的拦截器,作用: 添加或者修改自己想要header和对Response Header 缓存 @Override public Response intercept(Chain chain) throws IOException { Request userRequest = chain.request(); Request.Builder requestBui原创 2018-01-11 14:39:40 · 278 阅读 · 0 评论 -
RetryAndFollowUpInterceptor
这个拦截作用是:失败重连和重定向 直接上码 :public Response intercept(Chain chain) throws IOException { Request request = chain.request(); RealInterceptorChain realChain = (RealInterceptorChain) chain; Call call原创 2018-01-11 14:39:14 · 299 阅读 · 0 评论