![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 88
石头程
这个作者很懒,什么都没留下…
展开
-
Java基础之-----集合框架
作为Java里面的核心知识,Java集合是比较难以掌握的知识点,这里,将我总结出来的知识和大家分享。原创 2016-01-25 01:57:32 · 404 阅读 · 0 评论 -
Retrofit源码解析
Retrofit源码解析 Retrofit概述 Retrofi是对OkHttp的封装,简化了网络请求。 使用Retrofi完成网络请求的一般步骤如下: 使用Retrofit定义的 http注解,定义一个与Http API对应的java接口。 实例化一个Retrofit实例 调用Retrofit.create()方法,并将定义好的接口的类类型传递给这个方法,获得这个接口的原创 2017-07-30 22:30:25 · 455 阅读 · 0 评论 -
开源项目解析之--Okio
Retrofit,OkHttp,Okio 是 Square 团队开源的安卓平台网络层三板斧,它们逐层分工,非常优雅地解决我们对网络请求甚至更广泛的 I/O 操作的需求。其中最底层的 Okio 堪称小而美,功能也更基础,应用更广泛。这次我们就对它进行一个详细的分析。本文的分析基于 Okio 截至 2016.8.4 的最新源码,非常建议大家下载 Okio 源码之后,跟着本文,过一遍源码。转载 2017-06-21 11:28:36 · 1899 阅读 · 0 评论 -
Android动画详解(属性动画、视图动画和帧动画)
Android 动画框架 Android提供了三种动画系统: Property Animation: 属性动画,3.0引入,比较灵活,能够作用于所有对象 View Animation:视图动画,只能作用于view对象,使用比较简单。 Drawable Animation:帧动画,通过连续的加载 Drawable资源来实现动画效果。 属性动画(Property Animatio原创 2017-06-01 14:43:54 · 488 阅读 · 0 评论 -
Picasso源码完全解析(六)--请求的取消、暂停、和恢复
Picasso源码完全解析(六)--请求的取消、暂停、和恢复 Picasso为管理请求,提供了取消、暂停和恢复请求的方法。 请求的取消 请求的取消通常是通过picasso.cancel方法执行的,最终会调用这个方法: private void cancelExistingRequest(Object target) { checkMain(); Action原创 2017-05-17 09:14:55 · 1112 阅读 · 0 评论 -
Picasso源码完全解析(五)--图片的获取(BitmapHunter)
Picasso源码完全解析(五)--图片的获取(BitmapHunter) 从上一节的分析可以知道,最终的Action是由dispatcher.performSubmit(action)执行的,看看这个方法的源码: void performSubmit(Action action) { performSubmit(action, true); } void performSu原创 2017-05-17 09:13:24 · 999 阅读 · 0 评论 -
Picasso源码完全解析(四)--Action分发和执行
Picasso完全源码解析(四)--Action分发和执行 上节讲到 我们的每个图片请求最后生成一个Action被提交给Picasso执行,那么那么多的Action Picasso是怎么执行的呢? void enqueueAndSubmit(Action action) { Object target = action.getTarget(); if (target !=原创 2017-05-16 20:56:52 · 463 阅读 · 0 评论 -
Picasso源码完全解析(三)--Request和Action的创建
## Picasso完全源码解析(三)--Request和Action的创建## 使用Picasso可以加载链接、文件、Uri以及引用自带的res资源, public RequestCreator load(@Nullable Uri uri) { return new RequestCreator(this, uri, 0); }原创 2017-05-16 20:54:54 · 488 阅读 · 0 评论 -
Picasso源码完全解析(二)--Picasso实例的创建
## Picasso完全源码解析(二)--Picasso实例的创建 ## Picasso提供两种方式获得Picasso实例 1. 全局的默认实例 2. 通过Picasso.Builder自己构建Picasso实例 由于Picasso是一个重量级的对象,它的创建涉及到很多资源和复杂的过程,比如它需要占用一部分内存作为缓存,需要开启回收线程等等,同时其销毁也比较复杂,频繁的创建原创 2017-05-16 20:53:21 · 527 阅读 · 0 评论 -
Picasso源码完全解析(一)--概述
##Picasso源码解析(一)--概述## Picasso是一个省事的图片加载框架,对于复杂的图片加载需求,常常像这样一行代码搞定: Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); 很多在Android上图片加载的陷阱都被Picasso自动处理,比如: 1.原创 2017-05-16 20:51:06 · 588 阅读 · 0 评论 -
Picasso源码完全解析(七)-- CleanupThread 取消请求
Picasso源码完全解析(七)-- CleanupThread 取消请求 在开发过程中,我们常常有这样一种应用场景:在使用ListView或者RecylerView或者GridView时,为了提高性能,会采用item复用机制,即默认加载一屏的item,当item变得不可用的时候用来显示下一个将要显示的item,这样避免重复创建和销毁item。如果item用来显示图片,那么会造成这样一个问题原创 2017-05-17 11:37:22 · 649 阅读 · 3 评论 -
Java基础之---并发(Concurrency)和多线程
Java提供并发主要通过两种方式:Java语言和Java类库,从5.0之后,Java又提供了高级的API:java.util.concurrent,来更好的支持并发 什么是并发?能够同时执行多项任务的能力叫并发。 进程和线程 进程和线程是两个基本的执行单位。进程是资源分配的基本单位,线程是处理机调度的基本单位 进程 进程是一个自包含的运行环境,它有一套完整的私有的资源。一原创 2016-01-25 21:11:40 · 670 阅读 · 0 评论 -
Java基础之----I/O
Java的 I/O主要包括两个方面:I/O Stream和File I/O。前者主要涉及Java的各种流式输入输出,这是Java简化输入输出的一种抽象概念;后者主要涉及文件操作和文件系统。 I/O Stream部分,对应于java.io包,而 File I/O部分对应于 java.nio.file包。下面,分别对这几部分分别进行总结。这让我不禁想起了曾经腾讯的一次面试经历,“请说说Java原创 2016-01-25 20:25:01 · 287 阅读 · 0 评论 -
Java基础之----异常处理(1.7以上)
什么是异常 异常是在程序执行过程中发生的,中断程序正常执行流程的事件.Exception是exceptional event的简称java编程语言用异常来处理错误和其他异常事件。 处理过程 当在一个方法执行过程中发生一个异常,这个方法会创建一个异常对象,并把发这个对象传递给运行时系统,这个过程叫抛出异常,这个异常对象包含异常的类型以及异常发生时,程序的状态。 运行时系统收到这个异原创 2016-01-25 17:01:07 · 1297 阅读 · 0 评论 -
未来一个月的计划
毕业已经2年半了,马上就要三年了,羊年已逝,猴年在望,在这辞旧迎新的时候,也该回顾一下过去,畅想一下未来,写博客就是最好的方式。 不知道当初是怎么选择了计算机这个专业,11年开始接触Java,12年开始接触Android,毕业之后也一直从事android开发工作。回想一下,挺庆幸自己当初选择了软件工程这个专业。 同时,不知不觉,毕业已经2年半了,工作之后,觉得有点遗憾的是大学四原创 2016-01-25 16:23:54 · 1385 阅读 · 0 评论 -
Retrofit详解
Retrofit详解 简介 Retrofit是一个将Http API转化为Java接口,最终将接口转换为 callable 对象,并能执行同步和异步Http请求的Http Client。 具体来讲,使用Retrofit的步骤包括: 使用注解来定义Http API的Java接口。 定义好接口之后,通过Retrofit实例生成接口实例 通过调用接口实例的方法,获取Call对原创 2017-07-28 12:13:11 · 855 阅读 · 0 评论