自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 浅析Android如何编译生成apk

Android使用gradle构建工程的流程介绍

2017-04-10 17:43:31 1534

原创 动态代理——从一窍不通到恍然大悟

从具体的例子出发,由浅入繁介绍代理这种设计模式和具体可以处理的问题

2017-04-02 22:50:02 9492 10

原创 自定义View——可拖动设置时间的时钟具体实现2

接上一篇文章,将介绍如何把这些基于View类组装成一个完整的自定义时钟控件。

2017-03-23 10:20:17 989 1

原创 自定义View——可拖动设置时间的时钟具体实现1

详细介绍一款可拖动设置时间的时钟,从控件设计、到界面刷新参数以及参数间的换算关系一一做了介绍

2017-03-22 10:52:25 1848

原创 震惊!手机浏览器里面竟然藏了这么些秘密

介绍了移动端浏览器的分类,主要的几种浏览器引擎,浏览器主要功能,浏览器的主要组成,渲染引擎的执行流程等

2017-03-18 21:25:14 802

原创 震惊!竟然可以这样使用自己的SDK开发Android

日常开发中,SDK 和 API的区别会迷惑不少人,本文首先区别了API和SDK的异同,然后介绍了Android常用的jar包和aar包,以及它们在Android Studio中的生成方式,最后本文推荐了Twitter的Fabric SDK创建经验一文,供大家一起学习。

2017-03-18 09:53:31 4936 3

转载 CSDN-markdown编辑器,终于支持数学公式了,nice!

CSDN 推出了基于StackEdit修改而来的Markdown编辑器,用它写博客,将会带来全新的体验。本文是对官方文字的记录,方面自己以后查阅。

2017-03-17 19:45:45 968

原创 Android基础知识——Android SDK Manager详解

做Android开发时,有时候会直接拿别人的工程代码在自己PC上运行,编译的时候出错,检查后发现对方工程的compileSdkVersion和buildToolsVersion在你的PC上没有对应的版本,此时你准备打开Android SDK Manager,安装需要的sdk版本和buildTools版本。如下图,展示了所有相关的package,这些package到底都是什么功能呢?我们一一来看(如果

2016-11-15 22:16:10 32910 3

原创 很久没写文章了。。。

立个flag,这周开始,写文章要搞起!!!

2016-11-07 15:36:59 525

原创 红黑树

从红黑树的性质、旋转、插入、删除等操作详细分析了红黑树的特质。

2016-09-18 10:10:30 1190 2

原创 二叉搜索树

二叉搜索树是在二叉树的基础上的根据子树的值的大小进行了排序调整后的结果,而且它是红黑树的基础结构,在了解红黑树之前学习二叉搜索树对后面掌握红黑树是有很大帮助的。 定义二叉树的任意结点,它的左子树关键字不超过父结点,右子树关键字不小于父结点,则这样的二叉树成为二叉搜索树。查找相对于普通二叉树的查找,二叉搜索树可以借助待查数与当前结点的相对大小确定下一步搜索的方向。 查找代码的递归版本:Node se

2016-09-16 17:44:54 362

原创 Java HashMap实现原理2——HashMap详解

博主的前两篇文章Java HashMap实现原理0——从hashCode,equals说起,Java HashMap实现原理1——散列表已经讲述了HashMap设计的知识点,包括:hashCode(),equals(),散列表结构,散列函数、冲突解决等,在散列表一文最后,还给出了一个极简版本的实现。从极简版出发,理解java.util.HashMap,就容易多了。 最近博主偶遇了几家公司的技术文章

2016-09-15 17:20:37 1405

原创 Java HashMap实现原理1——散列表

这是HashMap系列博文的第二篇,在上一篇讲了hashCode、equals等方法的用途后,再带大家看下HashMap的数据结构——散列表,一步步地靠近HashMap的最终实现。

2016-09-14 11:26:33 625

原创 Android布局优化的一些小技巧

Android布局优化技巧、 如何优化你的布局RelativeLayout和LinearLayout及FrameLayout,以及<include>、<merge>、<ViewStub>对布局起到的优化。

2016-09-12 21:15:41 472

原创 动态规划分析—以01背包为例

从一个挖矿的故事,一步步地告诉你什么是动态规划,怎么解动态规划。结合背包问题,给出了解法,并提出了优化和改进方式。

2016-09-11 13:01:48 630

原创 递归详解

从递归的定义,常用的问题场景,及递归方法的嵌套执行流程出发,分三部分对递归进行介绍,最后以一个二叉树的中序作为例子,详细分析如何递归实现及递归具体的执行流程。

2016-09-07 10:02:13 2202

转载 Android进阶系列11-Android多线程并发

多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项

2016-09-04 19:22:42 659

原创 Android进阶系列10-AsyncTask分析

基于Android异步消息处理机制相关的Handler、MessageQueue、Looper的具体事例——AsyncTask。方便在子线程切换到UI线程,借助源代码分析加深下对异步消息处理的理解。

2016-09-04 14:06:06 702 5

原创 Android进阶系列9-Android异步消息处理Handler机制解析

Android 异步消息处理机制 ,从源码带你理解 Looper、Handler、Message、MessageQueue四者关系,以及使用的一些注意点!

2016-09-02 21:19:17 515

原创 Android进阶系列8-编译时注解框架ButterKnife浅析

在《Think in Java》一书中,作者提到注解解释器的实现方案,除了最常见的利用反射机制构造外,还提到了注解处理工具APT,APT操作java的源文件,而不是编译后的类,APT会在处理完源文件后编译它们。 Android开发过程中,经常要对控件进行初始化以及监听操作等。其中的代码繁琐而又机械,而这正是注解的强项,减轻程序猿的码码负担。相应的注解工具很多,比如一些敏捷开发框架xUtils3中的

2016-09-01 16:45:21 524

原创 Java的synchronized用法

Java的并发是个细活儿,作者目前码码过程中还没涉及到临界资源的并发访问。今天看到一篇不错的文章Java中Synchronized的用法,将其记录消化下。 什么时候需要同步呢?Think in Java中有这么一段“如果你正在写一个变量,它可能接下来将被另一个线程读取,或者正在读取一个上一次已经被另一个线程写过的变量,那么必须同步,并且,读写线程都必须用相同的监视器锁同步。每个访问临街共享资源的方

2016-08-30 16:43:04 333

原创 Android进阶系列7—重说View的工作流程三部曲

从DecorView开始的View绘制流程,不是直接告诉你ViewGroup和View应该如何三部曲,而是以DecorView从上往下,从代码的逻辑分析了绘制流程,不客气区分View 、ViewGroup,更加易懂

2016-08-25 10:42:13 890

原创 Android进阶系列6-从DecorView开始的View绘制流程

View由ViewRoot完成三大流程。在ActivityThread中,当Activity对象被创建完毕后,DecorView会被添加到Window中,同时创建ViewRootImpl的对象,将其和DecorView关联。View的绘制流程由ViewRoot的performTraversals()方法调用performMeasure,performLayout,performDraw完成顶级View的绘制

2016-08-24 15:33:58 569

原创 Java内存垃圾回收

Java内存回收时,涉及的对象存活检测方式、引用分类、垃圾收集算法、垃圾收集器以及常见的内存分配策略等

2016-08-23 21:07:16 280

原创 Java内存区域及溢出

Java内存区域都包含哪些结构,程序的各部分和各结构之间是怎样的存储关系,结构在什么样的情况下会发生溢出???

2016-08-23 16:20:18 344

原创 Android进阶系列5—从LayoutInflater到setContentView的setContentView

Android进阶系列4—从LayoutInflater到setContentView的setContentView。让你知道setContentView之后都发生了什么,也让你知道Activity默认的视图结构是什么。不仅仅是你加载进来的布局,还有其他父布局的存在。

2016-08-22 10:17:18 499

原创 Android进阶系列4—从LayoutInflater到setContentView的LayoutInflater

N天前博主面试的时候,面试官问我TextView是如何加载到界面上的。博主说LayoutInflator,interviewer问怎么操作的呢?我说:记不得了。。。翻看郭神的博客,发现早在14年底,我就在他的Android LayoutInflater原理分析,带你一步步深入了解View(一)里面有留言,可能是当时too young,对郭神的讲解不知所云,时隔一年多再看,觉得博主很会讲课,通俗易懂。

2016-08-21 15:18:03 558

原创 Android开源框架分析1—下拉刷新&加载更多实现方式详解

之前项目中用过一些下拉刷新&加载更多的框架,但是只知道怎么用,没去看过他们怎么实现的。这两天抽空看了些博客,自己也找了些开源框架看了下,对下拉刷新&加载更多有个初步的认识,在这里和大家分享下。 本文的诞生离不开Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能,Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件,johannilsson/and

2016-08-19 08:21:08 1451

原创 Android进阶系列3—再说View的事件分发

在Android进阶系列1—View的事件分发体系,在这一篇的基础上,博主做的一次补充。一个知识点,从大概知道,到自己能灵活运用,中间要折腾挺久。。。 事情是这样的,博主前几天在看下拉刷新和加载更多的简易框架,其中涉及到事件冲突部分,我还是有些晕乎,一怒之下,又把事件冲突拿出来端详一番,anyway,相较之前进步是有的。 同样,本文还是总结性的,不谈细节。本文的诞生要感谢,Android onT

2016-08-18 15:00:02 528

原创 Java HashMap实现原理0——从hashCode,equals说起

Object类中就有的hashCode和equals方法,在HashMap或者HashSet等结构中到底起了怎么的作用呢?读了本文你就知道——hashCode方法的存在是为了减少equals方法的调用次数,从而提高查找效率。

2016-08-12 15:44:38 825

原创 Android开源框架分析0——Volley框架详解

这两天花时间看了下Volley的源码,参考了几篇博文 Android Volley完全解析(四),带你从源码的角度理解Volley,Volley 源码解析,谷歌Volley网络框架讲解——网络枢纽等,有一点自己小小的心得体会,在此写出来和大家分析。1.基本网络请求操作封装既然是网络框架,最重要的当是网络请求相关操作的处理,在没有网络请求框架的时候,我们是利用最基本的HttpClient和HttpUR

2016-08-11 19:55:00 380

原创 Android进阶系列2-Activity启动模式

今天了解了下Activity启动模式,网上的文章多以代码测试结果为结论,结合Android源码讲解的比较少,罗升阳大神有关于源码的一些分析,并告诉我们谷歌告诉我们“make sure to test the usability of the activity during launch“。。。学习了几篇文章:http://www.cloudchou.com/android/post-768.html

2016-08-09 18:24:03 389

原创 Android进阶系列1—View的事件分发体系

本文主要基于《 Android触摸屏事件派发机制详解与源码分析一(View篇)》系列,《 自定义View系列教程06–详解View的Touch事件处理》以及《Android开发艺术探索-View的事件分发机制》三部分的内容的自我总结。 本文自上而下阐述View的事件从Activity开始的分发过程,阐述过程和相关结论,对细节不做过多分析,感兴趣的同学可以参考上述三部分内容。Activity的事件分

2016-08-08 10:10:45 433

原创 Android进阶系列0—View的工作流程:measure,layout,draw小结

本文主要来自《Android开发艺术探索》和郭霖 《Android视图绘制流程完全解析,带你一步步深入了解View(二)》 两部分的综合理解。 本文只阐述流程,不讲述细节,大家可以结合上述两部分的细节看。如有问题,欢迎大家在评论区指出,谢谢! View由ViewRoot完成三大流程。在ActivityThread中,当Activity对象被创建完毕后,DecorView会被添加到Window中,

2016-08-05 19:49:38 834

原创 Recyclerview用法浅析

recyclerview嵌套使用,adapter流程解析、点击事件响应

2016-05-05 21:54:39 463

翻译 Android Studio构建系统概述(Build System Overview)

android studio构建系统概述 翻译

2015-05-01 09:59:38 943

原创 安卓学习资料——读《疯狂Android讲义》有感

学习android有哪些比较好的资料

2015-04-25 22:11:18 1171 3

原创 小白Android开发之路——生命周期

android——生命周期之实例讲解

2015-04-21 19:51:49 830 1

链接库的简单尝试

链接库的简单尝试,极其简单的, 你们都懂的

2014-02-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除