- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 LinkedHashMap源码分析
分析完HashMap后,继续分析它的子类LinkedHasMapLinkedHashMap与HashMap的区别是,LinkedHashMap记录插入或者访问map元素的顺序,在执行迭代输出元素的时,会按插入的顺序输出LinkedHashMap用了一个双向链表记录插入或者访问的顺序 先看put方法,LinkedHashMap的put方法是用的父类HashMap的put方法 p...
2018-07-23 09:01:58
265
原创 HashMap源码分析
HashMap是一个常用的类。它与HashTable类似,只不过它可以设置key和value为null,且它不是线程安全的。它有两个参数影响性能,一个是initial capacity,一个是load factorinitial capacity 默认值是4,load factor的默认值是0.75 看下HashMap的构造方法public HashMap() {this...
2018-07-17 16:54:57
412
原创 IntentService源码分析
要分析Servcie和IntentService有什么区别,不如直接看一看IntentService的源码public abstract class IntentService extends Service {private volatile Looper mServiceLooper;private volatile ServiceHandler mServiceHandler;private...
2018-07-07 15:47:31
389
原创 ThreadLocal源码分析
今天分析ThreadLocal先看源码注释* This class provides thread-local variables. These variables differ from* their normal counterparts in that each thread that accesses one (via its* <tt>get</tt> or &l...
2018-07-04 15:15:31
406
原创 AsyncTask源码分析
AsyncTask适合轻量级的线程任务,它简化了Handler和Thread的操作,分析其源码其实里面就是封装了Thread和Handler。今天具体分析其源码AsyncTask是一个抽象类,带有3个泛型的参数,可以自定义一个类继承AsyncTaskclass MyAsyncTask extends AsyncTask<Integer,Integer,Void>{@Overridepr...
2018-07-04 09:22:08
187
原创 Handler源码分析
Android的消息机制就是指Handler机制,今天分析Handler的源码从sendMessage方法看起public final boolean sendMessage(Message msg){ return sendMessageDelayed(msg, 0);}继续点进去public final boolean sendMessageDelayed(Message msg, lo...
2018-06-29 16:14:39
204
原创 Dagger2源码分析一
写一个最基本的注入过程,分别有ClassA,ModuleA,ComponentA三个类public class ClassA {}@Modulepublic class ModuleA { @Provides public ClassA provideA(){ return new ClassA(); }}@Component(modules = ModuleA.c...
2018-06-21 10:12:34
255
原创 ButterKnife源码分析
分析方法,从入口Debug单步调试入口,从Activity的OnCreate中的 ButterKnife.bind(this) 入手@NonNull @UiThreadpublic static Unbinder bind(@NonNull Activity target) {View sourceView = target.getWindow().getDecorView();return cr...
2018-04-13 09:57:01
281
原创 EventBus源码分析2
分析EventBus.getDefault().post()方法public void post(Object event) {PostingThreadState postingState = currentPostingThreadState.get();List<Object> eventQueue = postingState.eventQueue;eventQueue.add...
2018-04-13 09:55:39
368
原创 EventBus源码分析1
EventBus是一个基于观察者模式的一个开源框架,我这里从两个入口分析源码,一个是EventBus.getDefaut().register(),一个是EventBus.getDefaut().post(new Event()),分两篇文章分析。注意:下面的代码EventBus是3.1.1版本的compile 'org.greenrobot:eventbus:3.1.1'我们可以在MainAct...
2018-04-13 09:54:44
262
原创 Rxjava源码分析
Observable.create(new ObservableOnSubscribe() { @Override public void subscribe(ObservableEmitter emitter) throws Exception { Log.i("xiang","发射.1");
2017-12-04 09:39:13
320
原创 adb批处理将手机数据库文件拷贝到电脑
写一个批处理文件,代码如下adb shell "su -c 'chmod 777 /data'"adb shell "su -c 'chmod 777 /data/data'"adb shell "su -c 'chmod 777 /data/data/com.hame.battery'"adb shell "su -c 'chmod 777 /data/data/com.
2017-06-06 18:26:05
929
原创 Android自定义控件-金额输入框
最近项目上用到一个金额输入的功能,基本功能包括可以输入小数,然后小数位数限制为2位。我用自定义的EditText实现了这个功能 思路:写一个类继承EditText,然后在构造方法中设置OnTextChangeLisener,如果输入的文字包含小数点,且小数位大于2,则在输入完后,删除掉最后一位 代码如下:/** * 金额输入框,限制小数位为2位 * * @auth...
2016-04-28 21:09:44
2096
原创 Hybrid app开发总结
一、所用技术 html5 、angularJs 、cordova、ionic二、环境搭建 要使用cordova、ionic开发要搭建好cordova、ionic的开发环境 步骤如下: 1.安装node.js 下载链接https://nodejs.org/en/ 2.安装cordova
2016-01-04 19:09:58
1794
原创 cordova ionic相关命令
把最近项目中cordova ionic用的命令总结如下:安装cordovanpm install -g cordova删除cordovanpm uninstall cordova -g安装ionic npm install -g ionic配置平台ionic platform add android(ios)
2015-12-10 19:33:08
517
原创 javascript字符串单引号与双引号的区别
最近在使用javascript编程,遇到使用字符串的情况写了一点测试代码 var str = 'This is Jack'; var str2 = 'This is Tom'; var str3 = 'This is "Rose"'; var str4 = "This is 'LiLi'"; var st
2015-12-03 19:09:16
8469
原创 adb无法连接手机问题解决方案
最近做安卓项目,总是会遇到adb无法连接到手机的情况,截图如下:分析原因是多个程序使用adb连接到手机,使得连接混乱解决方案一:使用360手机手机助手连接,貌似360很强大,其他的手机助手都不行但是用360连接有个问题,就是用adb devices会显示有两个连接,但是不会影响开发第一个方案没有解决根本问题,但是省事简单傻瓜下面看解决方案二:
2015-02-01 13:56:22
1891
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人