11 luoang

尚未进行身份认证

暂无相关描述

等级
TA的排名 38w+

Event Bus 3.0中索引Subscriber Index使用指南

最近项目要用EventBus,之前只是在网上看EventBus的源码解析,并没有真正在项目中使用到。最近项目中决定使用EventBus,百度了一下使用方法。其中EventBus3.0的使用方法费了很多时间,才搞定。EventBus3.0为了解决在事件处理时使用反射带来的性能问题,引入注解方式实现事件的处理。通过添加索引功能即可使用注解的功能。在AndroidStudio中添加索引...

2019-08-10 14:59:15

kotlin学习笔记一

一、判空和类型相关运算符1.1、概念分?和?.和?:和!!和as?1.2、可空运算符?1、在类型后面标识可为空eg:funconstractStr(str:String?)1.3、判空运算符?.1、只有对象非空的时候才执行?.后的对象函数eg:s?.lengths非空执行s.l...

2019-08-03 11:10:49

2018年Android面试题汇总四(持续更新中)

十二、ThreadLocal12.1、四大方法:set、get、remove和initialValue。  1、initialValue在第一次调用get或set时执行,只执行一次,初始化内部类Values中Oject数组。  2、JDK5.0开始支持泛型  3、内部ThreadLocal.ThreadLocalMap用来存储key键ThreadLocal和Value值变量副本12.2、如何...

2018-06-22 21:24:54

线程使用心得

JDK1.6有了allowCoreThreadTimeout,可以满足异步任务执行队列的下列需求:1、用一个线程池执行任务2、用一个有界队列,缓存未执行的任务3、没有任务执行时,停掉线程池中的线程原理:allowCoreThreadTimeout允许线程数低于corePoolSize,线程就会因为空闲而终止。实现技术:就是将corePoolSize和maximu

2018-06-22 14:50:39

2018年Android面试题汇总三(持续更新中)

六、自定义View如何提供获取View属性的接口a、attrs.xml定义declare-styelableb、构造方法中用TypedArray获取值c、xml使用,加apk/res-auto七、art和Dalvik对比(绿色表示面试出现概率很大)7.1、即时编译技术(JustInTimeJIT)与预编译技术(AheadOfTimeAOT) 1、JIT(JustInTime)即时编...

2018-06-21 21:50:57

2018年Android面试题汇总二(持续更新中)

继上一篇空发议论,这一篇开始把我面试时候的总结分享出来。一、ANR的情况和避免由ActivityManager和WindowManager监视,下列情况:1、主线程5s内没有影响输入事件2、BroadCastReceiver在10s内没有执行完毕3、Service主线程耗时操作超过15s解决方案案:网络通信、数据库和高耗时的计算放在子线程中,用handler.sendMessage、r...

2018-06-19 17:07:38

2018年Android面试题汇总一(持续更新中)

    随着Android从业人员的增多,当下Android面试不再局限几年前ListView如何使用,Android生命周期等入门级知识,而是逐渐形成一套体系,从多角度考察应聘者。虽然很多知识在平时工作中用不到,但是以此提升Android应聘门槛,也是众多公司乐于采用的形式。    要面试上好的公司,特别是BAT这种公司,刷题是必不可少的。作为一名6年的Android开发者,以前我认...

2018-06-15 00:11:08

Android的布局技术

4.0之前有5种,AbsoluteLayout,RelativeLayout、LinearLayout、FrameLayout和TableLayout,4.0之后增加GridLayout。TableLayout是LinearLayout的子类,GridLayout经典案例是计算器。RelativeLayout:优点是控件可任意摆放,缺点是要不断设置参考系。适用于最外层布局LinearLay

2017-05-27 17:54:36

View的canVerticalScroll函数研究和应用

(1)computeVerticalScrollOffset():已经向下滚动的距离,为0时表示已处于顶部。(2)computeVerticalScrollRange():整体的高度,注意是整体,包括在显示区域之外的。(3)computeVerticalScrollExtent():显示区域的高度。图示如下:对比图示很

2017-04-28 15:13:02

setOnTouchListener中的onTouch返回false

setOnTouchListener中的onTouch返回false,就是不消费这次touch动作,往下分发

2017-04-28 15:08:18

悬浮停靠

目前网上最靠谱的悬浮停靠是StickyNavLayout这个工程,这个工程能实现悬浮停靠。但是缺点在于局限于ListView,ScrollView和GridView。对于WebView等滚动处理就不好。最近在项目中研究了ScrollView,基于ScrollView写了一个悬浮停靠的控件,准备写个github工程。

2017-04-25 21:19:28

WebView处理重定向下载

含有重定向的下载地址,用WebView的setDownloadListener可以直接获取重定向的地址,进行下载处理。也可以自己写函数解析出重定向地址

2017-04-25 21:17:08

设计模式学习的一些好的文章

一个程序的构成就是数据结构、设计模式。选择正确的数据结构和好的设计模式是编写优秀代码的前提1、作者自身对各种设计模式的理解,写的比较好http://fangjian0423.github.io/2017/03/26/design-pattern/2、设计模式的启发篇http://www.importnew.com/12649.html

2017-04-19 21:46:46

类的equals和hashCode

定义一个int型成员变量mHashCode;1、类初始中传入hashcode的值2、在equals(Objectobj)中if(obj==null||getClass()!=obj.getClass()){returnfalse;} if(obj.mHashCode== mHashCode){  returntrue;}

2017-04-19 21:05:46

Android线程池使用心得

JDK1.6有了allowCoreThreadTimeout,可以满足异步任务执行队列的下列需求:1、用一个线程池执行任务2、用一个有界队列,缓存未执行的任务3、没有任务执行时,停掉线程池中的线程原理:allowCoreThreadTimeout允许线程数低于corePoolSize,线程就会因为空闲而终止。实现技术:就是将corePoolSize和maximu

2017-04-18 11:49:30

View的Draw方法流程

最近学习了View的Draw方法,这里做个总结。Draw方法分6步完成View的绘制。1、绘制背景background2、如果有颜色变淡,那么锁定原来的画布canvas,canvas.save3、绘制View自身的内容4、绘制子View5、如果2步有颜色变淡操作,恢复原来锁定的画布canvas,canvas.restore6、绘制滚动条等装饰

2017-04-13 11:40:37

Android Studio中使用自定义Android.jar缺少方法的一种解决方案

最近在AndroidStudio项目中ListView的scrollListBy方法,这个方法在SDK19及其以上版本才有的,而项目使用的自定义Android.jar中的ListView并不包含这个方法。如果为了使用这个方法,而重新编译Android.jar,代价太大。一种比较简便的解决方案是,找到SDK19的Android.jar,解压,找到ListView.class,尽管这个文

2017-04-12 23:27:05

android-Ultra-Pull-To-Refresh 源码解析

项目地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh1.功能介绍下拉刷新,几乎是每个Android应用都会需要的功能。android-Ultra-Pull-To-Refresh(以下简称UltraPTR)便是一个强大的Andriod下拉刷新框架。主要特点:(1).继承于Vi

2017-04-11 20:19:25
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!