[置顶] OkHttp源码解析

同步请求用例//创建对象 OkHttpClient client = new OkHttpClient(); //创建请求 Request request = new Request.Builder() .url("http://blog.csdn.net/double2hao") .build(); //网络获取 Response response = client...
阅读(509) 评论(0)

[置顶] Android单元测试-对Activity的测试

前提概要 上一篇文章已经介绍了单元测试的作用和简单示例,如果不了解的读者可以先阅读上一篇 Android单元测试-作用以及简单示例。 这篇文章主要介绍常见的Activity中的测试。 对Acitivity的测试 对于Activity,我们大致有两种测试需求: 1、在Activity正常启动后,查看界面布局是否正确,包括View的点击事件等是否正确。 2、需要在Activity启动前...
阅读(541) 评论(0)

[置顶] ThreadLocal与ThreadLocalMap源码解析

使用场景 一般来说,某些数据是以线程为作用域并且不同线程具有不同的数据的数据副本的时候,就可以考虑采用ThreadLocal。比如Looper 内部就是通过ThreadLocal来保证不同线程中有不同的唯一副本的,从而实现了我们现在经常使用的android消息机制。 对于android消息机制好奇的同学可以先看一下笔者的博文: Handler源码解析 文章摘要 1、ThreadLoca...
阅读(382) 评论(0)

[置顶] Handler源码解析

前提概要Hanlder、Looper和MessageQueue算是android中的一大要点,关于其的解说也数不胜数,但他人的终究是他人的。 笔者自己从源码的角度对其深入了解一番,记录成此篇文章。概述Looper:每个线程只有一个Looper,它负责管理MessageQueue,会不断的从MessageQueue中取出消息,并将消息分发给Handler处理。主线程在初始化的时候会创建一个Loope...
阅读(642) 评论(1)

[置顶] HashMap源码分析

#前提概要: HashMap算是Map的子类中用的最多的了,其相关的类也有很多,比如LinkedHashMap、HashMap、HashTable、ConcurrentHashMap。而HashMap在其中也扮演着一个很重要的角色,本文主要分析HashMap的源码,了解完后,其他的也自然触类旁通了。 #概述 HashMap本身是数组+链表的存储结构(JDK1.8加上了红黑树部分,本篇文章不提及,仅仅在目前androi...
阅读(619) 评论(5)

[置顶] 迟到的Volley源码解析

前言笔者其实之前其实早就想对Volley源码解析,但是由于笔者基础不好,理解源码有一定困难,加上不够重视,于是便不了了之了。 在近期笔试面试的经历中,发现网络实践这一块实在重要,于是打算亡羊补牢。也是祭奠下失去的腾讯实习offer(三面+加面,挂在加面),我们无法责怪运气,能做的只是提高自我。 参考文章: Volley 源码解析 Android Volley完全解析(四),带你...
阅读(945) 评论(0)

[置顶] SharePreferences源码分析(SharedPreferencesImpl)

SharePreferences的基本使用在Android提供的几种数据存储方式中SharePreference属于轻量级的键值存储方式,以XML文件方式保存数据,通常用来存储一些用户行为开关状态等,一般的存储一些常见的数据类型。 public class MainActivity extends AppCompatActivity { @Override protected void...
阅读(2088) 评论(2)

[置顶] 【从零开始写一个简单的ImageLoader框架】ImageLoader分析

项目涉及知识点1、网络获取2、图片压缩3、内存缓存4、磁盘缓存5、线程池6、Handler7、RecyclerView(demo中使用)ImageLoader获取图片一般流程1、从内存缓存中查看是否有该图片,如果有就设置到imageView上。2、如果没有内存缓存,就从磁盘缓存中查看是否有该图片,如果有就设置到imageView上,并且把该图片设置到内存缓存中。3、如果既没有内存缓存也没有磁盘缓存,...
阅读(2475) 评论(2)

Android单元测试-对View的测试

前提概要前两篇文章分别介绍了单元测试的作用和关于Activity的单元测试,有兴趣或者刚入门的读者可以阅读以下前两篇文章: Android单元测试-作用以及简单示例 Android单元测试-对Activity的测试这篇文章对应Activity中View的测试做一个专门的拓展。主要三个组件(类)ViewMatchers这个类中有对View的各种属性的判断方法,比如可以判断id,判断是否获取焦点,...
阅读(299) 评论(0)

Android单元测试-作用以及简单示例

前提概要受人嫌弃的单元测试对于单元测试这个知识点,其实很多开发者是不太接触的,包括笔者,在实习之前也并未实用过单元测试,或者说并没感受到单元测试的好处。 对于bug的调试,笔者之前更倾向于使用log和断点调试,可以说会了这两个,大部分的逻辑bug都能自己解决了。这两个与看似臃肿的单元测试代码相比更受大家的喜爱。 但是,使用log和断点调试的前提是开发人员较少,甚至是单人开发的情况。如果我自己开发...
阅读(343) 评论(0)

进制均值-进制转换+最大公约数

题目 尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏。她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7、11(B),用八进制表示为三位数1、7、3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11,。 小B感兴趣的是...
阅读(129) 评论(0)

Java垃圾回收算法

此篇文章主要借鉴《深入理解Java虚拟机》和《Thinking in Java》 前提概要Java垃圾回收机制主要有两个方面,一是垃圾回收算法,二是垃圾回收器。此篇文章主要介绍垃圾回收算法。主要的垃圾回收算法如下: 1、引用计数算法 2、标记-清扫算法 3、复制算法 4、标记-整理算法 5、分代收集算法查找可存活对象的方法除了引用计数算法外,其他的算法都需要查找可存活的对象,其方式主要如下...
阅读(486) 评论(3)

ListView异步创建View

前提概要异步创建View这种操作一般情况下是用不到的,包括笔者之前自学阶段也是闻所未闻。 这定然是突破了我们一般编程的思维——UI操作难道不是只能在UI线程中吗? 是的,UI操作只能在UI线程中,但是UI控件的操作却是可以异步执行的。考虑一下以下需求: 我们要展示一个ListView,ListView中的数据和布局都是我们网络获取的,我们预先并不知道。 以往的我们使用一个Listview一般...
阅读(562) 评论(0)

getView()不复用convertView,ListView即毫无复用!(ListView回收机制)

前提概要 getView()不复用convertView,ListView即毫无复用! 标题的话不知道有没有震惊到大家,反正是与笔者一直以来的想法相悖的。 之前笔者一直认为,使用BaseAdapter如果不复用convertView,那么可能会一定程度上降低ListView的性能,但是ListView本身一定还有其优化性能的方式,所以写demo时也经常偷一下懒,就不写convertView的复...
阅读(557) 评论(0)

小易记单词

题目: 小易参与了一个记单词的小游戏。游戏开始系统提供了m个不同的单词,小易记忆一段时间之后需要在纸上写出他记住的单词。小易一共写出了n个他能记住的单词,如果小易写出的单词是在系统提供的,将获得这个单词长度的平方的分数。注意小易写出的单词可能重复,但是对于每个正确的单词只能计分一次。 输入描述: 输入数据包括三行: 第一行为两个整数n(1 ≤ n ≤ 50)和m(1 ≤ m ≤ 50)...
阅读(282) 评论(0)

工作安排(dfs深度优先搜索)

题目 现在有n位工程师和6项工作(编号为0至5),现在给出每个人能够胜任的工作序号表(用一个字符串表示,比如:045,表示某位工程师能够胜任0号,4号,5号工作)。现在需要进行工作安排,每位工程师只能被安排到自己能够胜任的工作当中去,两位工程师不能安排到同一项工作当中去。如果两种工作安排中有一个人被安排在的工作序号不一样就被视为不同的工作安排,现在需要计算出有多少种不同工作安排计划。 输入描述:...
阅读(184) 评论(0)

双核处理(动态规划的01背包问题)

题目 一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间 输入描述: 输入包括两行: 第一行为整数n(1 ≤ n ≤ 50) 第二行为n个整数length[i](102...
阅读(377) 评论(0)

度度熊回家

题目 一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。 但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离? 输入 输入一个正整数N, N <= 50。 接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等于100...
阅读(308) 评论(0)
266条 共18页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:584695次
    • 积分:7928
    • 等级:
    • 排名:第2694名
    • 原创:169篇
    • 转载:94篇
    • 译文:3篇
    • 评论:282条
    博客专栏