源码分析
文章平均质量分 92
梦想的转角
这个作者很懒,什么都没留下…
展开
-
RxJava1.x初探
以下例子基于RxJava1.x: 先来个最简单的用法: Observable.create(object:Observable.OnSubscribe<String>{ override fun call(t: Subscriber<in String>?) { t.onNext("1") ...原创 2019-03-19 15:56:50 · 146 阅读 · 0 评论 -
RxJava1.x操作符初探之map
我们先来看看map操作符: Observable.just(1, 2, 3) .map(object : Func1<Int, String> { override fun call(t: Int?): String { return t.toString() } ...原创 2019-03-21 15:26:58 · 145 阅读 · 0 评论 -
RxJava1.x中的subscribeOn,observeOn到底做了些什么
注:文中的OnSubscribe1,OnSubscribe2,Observable1等等命名是通过出现的时序来命名的,越大说明越晚出现 我们先来举个例子吧: Observable.create(object : Observable.OnSubscribe<String> { override fun call(it: Subscriber<in Stri...原创 2019-03-21 17:57:19 · 602 阅读 · 0 评论 -
Toast初探
总结: 首先Toast的make方法主要就是封装TN(Binder)这个对象,这里有几点需要注意 Toast默认的是TextView,必须需要有个显示信息的UI,否则会报错 当前线程必须有相对应的Looper,否则报错,因为里面的显示机制还是跟Handler有关的,主线程是默认有MainLooper的 show方法:其实是系统内部维护着一个队列,通过不断的从该队列中取出ToastRecor...原创 2019-03-23 10:14:13 · 194 阅读 · 0 评论 -
RecyclerView 初探——绘制流程
参考文章: https://www.jianshu.com/p/c52b947fe064 总结: RecyclerView它的绘制其实是交给了LayoutManager处理,如果没有设置,则不会测量子View。如果RecyclerView是固定的长宽,在OnMeasure中是不会测量子View的,而是会在onLayout中测量 绘制其实会区分正向绘制和倒置绘制 绘制的过程是先确定一个瞄点,然...原创 2019-03-26 15:23:36 · 356 阅读 · 0 评论 -
ListView.setAdapter流程以及缓存机制
1. ListView数据显示的流程分析 我们往往放入数据就直接这样: listView.adapter=adapter 实现机制到底是怎么样的呢,那么我们来看看listView的setAdapter方法是怎么实现的吧: ListView.java public void setAdapter(ListAdapter adapter) { .... requestLayo...原创 2019-03-24 17:23:26 · 5669 阅读 · 1 评论 -
RxJava1.x操作符初探之defer
关于defer这个操作符,RxJava实战是这样解释的: 知道有观察者订阅时才创建Observable,并且为每个观察者创建一个全新的Observable defer操作符会一直等待直到有观察者订阅它,然后它使用Observable工厂方法生成一个Observable。它对每个观察者都这样做,因此尽管每个订阅者都以为自己订阅的是同一个Observable,但事实上每个订阅者获取的是它们自己单独的数...原创 2019-04-19 19:39:07 · 384 阅读 · 0 评论 -
ArrayList初探
总结: ArrayList底层是基于数组 无参数是实例的时候容器大小是为0,添加元素的时候容器大小最小为10 add方法是先检查是否扩容,然后加入到数组最后 add(index ,e)方法是先检查index的值是否符合要求,然后再扩容,接着把index到最后的所有元素都移到自己后一位的位置,最后再把需要加入的值加入到index位置中 扩容机制为首先扩容为原始容量的 1.5 倍。...原创 2019-04-29 21:37:32 · 166 阅读 · 0 评论