关闭

RxJava2详解(三)--调度器

RxJava2 调度器(Scheduler) ReactiveX最重要、最核心的是对线程调度的封装。这依赖于subscribeOn和observeOn两个操作符和各种强大的Scheduler。 RxJava借鉴了Iterable/Iterator模式的思想,定义了一套Scheduler/Worker API。RxJava的Scheduler不进行任何调度的工作,但它负责创建Worker,Worker负责实际调...
阅读(140) 评论(0)

RxJava2详解(二)--操作符

简介 Observable和Observer只是ReactiveX的开始,他们自己只不过是标准观察者模式的轻微扩展,更适合处理事件序列而不是单个回调。 ReactiveX真正强大的是那些让你可以随意变换、组合、操作Observable发射的数据序列的操作符(Operators),这些操作符可以让你声明式地组合异步序列,同时具备回调的所有效率优势,但没有传统异步系统的嵌套回调处理的缺点。...
阅读(891) 评论(0)

RxJava2详解(一)--基础

ReactiveX详解 RxJava2基础 RxAndroid ReactiveX(Reactive Extensions),一般简写为Rx,是一个使用可观察数据流进行异步编程的编程接口。由微软的架构师Erik Meijer领导的团队开发,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便地编写异步和基于事件的程序,现在已经有了RxJava、RxJS、Rx.NET、RxScala、RxClojure、Rx...
阅读(1212) 评论(0)

Android权限管理详解

概述Android安全架构规定:默认情况下,任何应用都没有权限执行对其他应用、操作系统或用户有不利影响的任何操作。这包括读写用户的私有数据(如联系人或电子邮件等)、读写其他应用的文件、执行网络访问、使设备保持唤醒状态等等。 如果要使用这些受保护的设备功能,首先要在应用的清单文件(AndroidManifest.xml)中添加一个或多个 标记: <manifest...
阅读(558) 评论(0)

Dagger2 User's Guide(翻译)

概述依赖注入(dependency injection)是一个对象为另一个对象提供依赖关系的技术手段。简单点说,就是一个对象(client)要依赖其它对象(services)才能完成工作,那么这个对象(client)就对其它对象(services)产生了依赖,而依赖注入就是把依赖(services)在需要的时候自动传给client,而不是client自己创建或者寻找services。也就是说客户对象...
阅读(2006) 评论(0)

Android软键盘输入详解

IM(Input Method): 输入法。是指通过键盘等输入设备输入 输入设备上没有 的字符的 方法/程序/处理器 。最开始是特指在拉丁字母键盘上输入CJK (Chinese, Japanese and Korean)文字的方法,现在一般将所有的输入语言的方式都叫输入法。 IME(Input Method Editor): 输入法编辑器。通常简作输入法。 IMF(input method...
阅读(1284) 评论(0)

Android时间处理详解

Android时间详解 Java Calendar详解 Java Date Greenwich:格林威治/格林尼治,是位于伦敦市中心东南部的一个区,1675国王查理二世在此建立了皇家格林尼治天文台,1851年御用天文学家艾里在天文台设置了中星仪并确定了格林威治子午线,1884年在美国华盛顿特区举行的国际本初子午线大会上正式将此线定之为经度的起点。...
阅读(2432) 评论(0)

MD风格之丰富多变Toolbar

一. 下载 compile 'com.android.support:design:23.4.0'二. 详解CoordinatorLayout继承自ViewGroup,实现了NestedScrollingParent接口,可以说是超级版FrameLayout。 CoordinatorLayout的用途主要有两个: 作为最顶层的application decor或者chrome layout....
阅读(895) 评论(0)

Invalid double崩溃分析

Caused by: java.lang.NumberFormatException: Invalid double: "0,3" at java.lang.StringToReal.invalidReal(StringToReal.java:63) at java.lang.StringToReal.initialParse(StringToReal.java:164) at java.la...
阅读(2749) 评论(0)

RecyclerView之ItemDecoration详解

关于RecyclerView的ItemView装饰,之前一直用官方Demo的DividerItemDecoration,并没有认真地去理解ItemDecoration的用法,也没能体会到ItemDecoration的强大,直到要用到横向的RecyclerView,而且最左边的和最右边的Item要留出间隔(虽然clip结合padding可以实现),才认真地理解一下ItemDecoration。 Re...
阅读(9365) 评论(17)

Collections.sort()崩溃分析

对List排序一般采用两种方法: (1)实体类实现`Comparable`接口,完成`compareTo(T o)`方法。 (2)创建一个`Comparator`的实现类,完成`compare(T o1, T o2)`方法,然后利用这个比较器对List进行排序。...
阅读(2622) 评论(0)

Glide使用详解(二)

BitmapPoolDalvik和ART都没有使用compacting garbage collector垃圾回收模式,这种模式中GC会遍历堆,同时把活跃对象移到相邻内存区域,让更大的内存块可以用在后续的分配中。因为安卓没有这种模式,就可能会出现被分配的对象分散在各处,对象之间只有很小的内存可用。如果应用试图分配一个大于邻近的闲置内存块空间的对象,就会导致OOM崩溃,即使总的空余内存空间大于要分配的...
阅读(6894) 评论(5)

Glide使用详解(一)

Glide使用 Glide使用教程 Glide详解 Android图片加载 一. 下载在build.gradle中添加依赖: compile 'com.github.bumptech.glide:glide:3.7.0'需要support-v4库的支持,如果你的项目没有support-v4库(项目默认已经添加了),还需要添加s...
阅读(85119) 评论(60)

Glide之后台线程加载及缓存资源

后台线程加载及缓存为了使后台线程加载和处理媒体资源更容易,Glide新增了两个API: downloadOnly(int, int) into(int, int) Glide的downloadOnly(int, int)API允许你下载图片的字节流到磁盘中,以便你之后用到。你可以在UI线程中异步地使用downloadOnly()或者在后台线程中同步使用,但要注意,异步API需要一个Target作为参...
阅读(6416) 评论(2)

Glide之Target

Glide不但可以把图片、视频剧照、GIF动画加载到View,还可以加载到自定义的Target实现中。Target就是使用Glide获取到资源之后资源作用的目标,我们通常是用Glide加载完资源后显示到ImageView中,这个ImageView就是目标。 Target架构的接口包括: com.bumptech.glide.manager.LifecycleListener com.bumptec...
阅读(6192) 评论(6)
58条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:304276次
    • 积分:2194
    • 等级:
    • 排名:第18332名
    • 原创:52篇
    • 转载:0篇
    • 译文:6篇
    • 评论:240条
    博客专栏
    最新评论