源码阅读
勇敢地追
这个作者很懒,什么都没留下…
展开
-
源码阅读--Collections.sort
Collections.sort源代码 public static <T extends Comparable<? super T>> void sort(List<T> list) { Object[] a = list.toArray(); Arrays.sort(a);// ListIterator<T> i = list.listIter原创 2017-02-19 19:50:49 · 285 阅读 · 0 评论 -
observeOn()与subscribeOn()的区别
Observable.just("RxJava") .map(new Function<String, String>() { @Override public String apply(@NonNull String s) throws Exception {原创 2017-10-12 15:31:04 · 2104 阅读 · 0 评论 -
Okhttp3 Interceptor
这些都是要添加进去的Interceptor。最终执行网络请求的就只有CallServerInterceptor,其他都是用来过滤,重定向的 List<Interceptor> interceptors = new ArrayList<>(); interceptors.addAll(client.interceptors()); interceptors.add(retryAn原创 2017-08-24 15:23:27 · 543 阅读 · 0 评论 -
源码阅读--OkHttp3
用法在这里 http://blog.csdn.net/itachi85/article/details/51190687大致流程如下: 1.准备OkHttpClient 2.准备requestBuilder 3.mOkHttpClient.newCall(request).enqueueenqueue的调用流程如下: @Override public void enqueue(Callba原创 2017-05-01 20:42:44 · 256 阅读 · 0 评论 -
Glide中request的调用和管理
先介绍一个数据结构WeakHashMap WeakHashMap大致上就是,通过WeakReference和ReferenceQueue实现的。 WeakHashMap是通过数组table保存Entry(键值对),Entry继承WeakReference,最终继承Reference WeakHashMap还有ReferenceQueue,是一个队列,它会保存被GC回收的“弱键”。 问题:如何原创 2017-08-23 16:41:22 · 2259 阅读 · 0 评论 -
Glide生命周期管理
Glide.with里面有这段代码public RequestManager get(Activity activity) { if (Util.isOnBackgroundThread()) { return get(activity.getApplicationContext()); } else { assertN原创 2017-08-23 16:35:06 · 401 阅读 · 0 评论 -
Glide缓存机制
1.LinkedHashMap——http://blog.csdn.net/lxj1137800599/article/details/54976180 2.cleanupCallable(涉及到ThreadPoolExecutor——http://blog.csdn.net/lxj1137800599/article/details/55808019)private final Callable原创 2017-08-23 16:25:02 · 296 阅读 · 0 评论 -
源码阅读--腾讯Tinker热修复框架
先要配置这么一段话:后面会谈到为什么以及如何改变这些默认设置 public static void installTinker(ApplicationLike appLike) { //or you can just use DefaultLoadReporter LoadReporter loadReporter = new DefaultLoadReport原创 2017-07-19 16:44:32 · 336 阅读 · 0 评论 -
源码阅读--Glide
1.用法及参考资料参考资料:http://www.apkbus.com/blog-705730-60158.html 用法:Glide.with(this).load("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1494417111222&di=0679f94eacd58059affec7cc9a33c7原创 2017-05-18 10:50:42 · 466 阅读 · 0 评论 -
源码阅读--EventBus
使用方法 http://blog.csdn.net/harvic880925/article/details/406601371.构造函数EventBus.getDefault()——————单例模式 public static EventBus getDefault() { if (defaultInstance == null) { synchro原创 2017-05-07 10:07:43 · 258 阅读 · 0 评论 -
源码阅读--RxJava(二)
这次研究一下rx是如何实现线程切换的 参考: http://gank.io/post/560e15be2dca930e00da1083 http://www.jianshu.com/p/d149043d103a http://www.jianshu.com/p/310726a75045 http://www.jianshu.com/p/1f4867ce3c01先说明一下几个概念:原创 2017-04-24 16:04:22 · 631 阅读 · 0 评论 -
源码阅读--xutil3
初始化:public static void init(Application app) { TaskControllerImpl.registerInstance(); if (Ext.app == null) { Ext.app = app;//-----------将Application绑定到app上,方便全局调原创 2017-05-10 18:46:26 · 398 阅读 · 0 评论 -
源码阅读--Retrofit
1.使用方法1、构造retrofit实例(建造者模式,类似于Dialog) Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .build(); //https://api.github.com/re原创 2017-05-01 14:49:24 · 252 阅读 · 0 评论 -
源码阅读--RxJava(三)
这次来讲讲Rxjava中的Flowable 先看一段代码 Observable.create(new ObservableOnSubscribe<Integer>() { @Override public void subscribe(ObservableEmitter<Integer> e) throws Exception {原创 2017-04-09 23:05:03 · 410 阅读 · 0 评论 -
源码阅读--RxJava(一)
所有有关RxJava,RxAndroid的介绍性文章在这里贴出一二: http://blog.csdn.net/caroline_wendy/article/details/50444461 http://frodoking.github.io/2015/09/08/reactivex/RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。O原创 2017-02-14 22:37:20 · 297 阅读 · 0 评论 -
retrofit的使用
1.动态代理 http://blog.csdn.net/lxj1137800599/article/details/760221412.常见注解说明 (1)一般的getpublic interface IUserBiz{ @GET("users") Call<List<User>> getUsers();}@GET中所填写的value和baseUrl组成完整的路径 (2)动态原创 2017-10-12 15:39:03 · 271 阅读 · 0 评论