自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (13)
  • 收藏
  • 关注

原创 Android-RxJava源码分析

最简单的源码分析//创建一个上游 Observable:Observable<Integer> observable = Observable.create(new ObservableOnSubscribe<Integer>() { @Override public void subscribe(ObservableEmitter<Integer&...

2018-05-03 21:25:42 333

原创 Android-RxJava使用介绍

RxJava的应用场景我认为“RxJava的应用场景到底在哪里?”的答案,应该到“什么是Rx”里找?先弄清楚“什么是Rx”,然后再思考RxJava可以给我们的项目带来什么好处?    Rx是什么:Rx是一个基于响应式编程思想实现的函数库,让开发者可以利用可观察序列和LINQ风格查询操作符来编写异步和基于事件的程序(可以这样定义:Rx=Observable + LINQ + Schedule)   ...

2018-05-03 21:18:02 394

原创 Android-Volley源码分析

Volley整体框架简介队列分发器执行流程CacheDispatcher流程缓存分发器,在RequestQueue.start()时,就会在App中启动Thread专门用于处理缓存读取操作。读取缓存的关键操作流程伪代码如下:while(ture){ request = mCacheQueue.take(); //判断请求是否已取消 //如果有缓存 --> 判断缓存是否...

2018-04-12 09:55:52 222

原创 Android-源码下载编译教程

Ubuntu安装git工具sudo apt-get install gitgit config –global user.email “test@test.com”git config –global user.name “test”Ubuntu安装repocurl https://storage.googleapis.com/git-repo-

2017-11-24 20:49:26 411

原创 Android-Gson使用详解

Gson介绍Gson的基本用法Gson解析默认使用方法很简单,将json转换成对象用Gson.fromJson(),将对象转化成json用Gson.toJson()即可。Gson解析解析数组和List也是用相同的方法。当解析List的时候,可能会遇到泛型操作。此时需要使用TypeToken对象来实现泛型支持。public static void main(Strin

2017-10-08 00:20:28 1602

原创 Android-Fragment源码解析

UML类图主要类含义介绍FragmentControllerFragmentController为Fragment的宿主提供一个控制器,对Fragment生命周期操作,提供一个控制流程。FragmentController中持有FragmentHostCallback对象,对于Fragment生命周期的操作,主要是通过FragmentHostCallback来实现的。而Fragm...

2017-09-12 18:35:12 971

原创 Android-LeakCanary原理分析

介绍LeakCanary项目是为Java&Android开发提供的一个自动检测内存泄漏的工具,现在很多项目都在引入来提高代码质量,减少不必要的内存泄漏。核心方法流程图初始化流程通过以下方法,将内存泄露框架添加到App中。//在Application中添加内存监控框架LeakCanary.install(this);添加到App中,实际上就是构造...

2017-08-15 22:30:44 1061

原创 Android-BlockCanary框架源码分析

介绍BlockCanary是Android平台上的一个轻量的,非侵入式的性能监控组件,应用只需要提供一些上下文环境就可以在使用应用的时候检测主线程上的各种卡顿问题,并通过组件提供的各种信息分析出原因并进行修复。BlockCanary会在发生卡顿的时候记录各种信息,输出到配置目录下的文件,并弹出消息栏通知。核心原理介绍关于UI的操作,都是通过唯一的Handler.MainLo...

2017-08-12 15:32:52 503

原创 Android-DLPlugin插件化框架

介绍DynamicLoadApk 原理的核心思想可以总结为两个字:代理。通过在 Manifest 中注册代理组件,当启动插件组件时首先启动一个代理组件,然后通过这个代理组件来构建、启动插件组件。从而实现了动态添加插件的效果。插件类介绍DLPluginManager插件管理模块,负责插件的加载、管理以及启动插件组件。Proxy代理组

2017-07-04 00:08:16 927

原创 AbsListView中item重用机制

AbsListView中item重用机制ListView是一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,ListView都不会发生OOM或者崩溃,而且随着我们手指滑动来浏览更多数据时,程序所占用的内存竟然都不会跟着增长。要达到这种效果,一定是重用了item,将划出屏幕的item作为新item,添加到屏幕中,从而达到了内存稳

2017-06-21 21:08:59 428

原创 Android-getSystemService分析

调用流程-> ContextImpl.getSystemService(XXX)          -> SystemServiceRegistry.getSystemService(this, name);                    -> ServiceFetcher.getService(context)方法内容Conte

2017-03-29 09:58:01 399

原创 Android-NoHttp网络框架

NoHttp网络请求基础框架网路请求流程图网络请求设计NOHttp底层使用OKHttp网络请求下载请求框架网络请求缓存框架请求缓存配置实现框架参考http://blog.csdn.net/yanzhenjie1003/a

2017-03-20 16:36:03 527

原创 服务器-Web框架配置

简介阿里云服务器ECS没有安装J2EE环境的攻略,只能自己安装。下面讲解安装JDK,Tomcat,Mysql过程。 这文章,从去年就想发表,到现在在有时间。我也是够了~~JDK安装查看系统版本getconf LONG_BIT64//这个命令是查看CPU当前运行模式,我这里是64位的下载JDK下载jdk的压缩包:http

2017-03-18 14:06:15 530

原创 Android-下拉刷新框架理解

自定义下拉刷新控件,设计结构讲解。

2017-01-10 21:54:29 604

原创 Android-解决TextView上下留白问题

问题为什么TextView默认上下留空?设置includeFontPadding参数,是否有效去除上下留空?includeFontPadding参数比较图源码分析(展示重点方法)先看TextView计算过程:protected void onMeasure(int widthMeasureSpec, int heightMeasu

2016-10-14 00:11:16 15781 2

原创 Android-屏幕知识总结

屏幕尺寸屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米屏幕分辨率屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素*横向像素,如1960*1080dp、dpi、sp、pxpx一个像素点 ,如手机分辨率320*480表示宽有320像素,高有480像素。dpi

2016-10-05 11:59:57 675

原创 Android-自定义图片加载框架

框架结构ImageCache类(图片缓存)流程介绍:设置了两级缓存,将最近使用的图片保存到内存中,将网络加载过来的图片保存到本地。其中保存到内存中图片,为经过压缩的图片,而保存到本地的为网络加载的原图。保存到内存中,用到了最近最少使用算法的缓存,构造如下:int maxMemory = (int) Runtime.getRuntime().maxMe

2016-09-03 22:33:36 1362 3

原创 Android-点击事件分发机制验证

简介点击事件的事件分发,其实就是对MotionEvent事件的分发过程,即当一个MotionEvent产生之后,系统需要这个事件传递给一个具体的View,而这个传递过程就是分发过程。点击事件的分发过程由三个重要方法共同完成:dispatchTouchEvent 事件分发onInterceptTouchEvent 事件拦截onTouchEvent 事件

2016-05-28 00:40:59 4984

原创 Android-Intent详解

显示Intent启动Activity方式总结:     显示启动就是在明确指出要启动的Activity或者Service的类或者包名。     显示Intent调用Activity,有以下5种方式。通过查看内部代码,可以知道其实都是在设置ComponentName对象。通过设置ComponentName对象,来确定应当显示的Activity对象。

2016-04-23 17:06:25 1119

原创 Android-Sqlite使用手册

sqlite3使用手册查看数据库版本sqlite3 -version打开或创建数据库          sqlite3 DatabaseName.db          查看数据库文件信息          .database查看数据库表          .table

2016-04-17 18:42:24 2143

原创 Android-findViewById()方法分析

findViewById()方法分析首先,看我们在Activity中调用的findViewById方法:@Nullable public View findViewById(@IdRes int id) { return getWindow().findViewById();}调用了Window的findViewById()方法,获取结果。那么下面,我们就来看看Window

2016-03-21 19:40:42 7281 1

原创 Android-Preproty animation解析

android-Property Animation介绍属性动画(property animation)系统,是一个健壮的框架,可以实现任何将任何属性设置为动画。不管对象是否被绘制到屏幕上,你都可以声明一个动画去改变它的属性值。属性动画是指在定长时间内改变指定属性的一种动画。你可以从下面这些特性入手去定义一个属性动画(property animation):Duration(持续时间):你可以指定

2016-03-11 19:46:05 748

转载 Anidrod-View Animation动画介绍

android-View Animation介绍:视图动画在古老的Android版本系统中就已经提供了,只能被用来设置View的动画。视图动画,也叫Tween(补间)动画可以在一个视图容器内执行一系列简单变换(位置、大小、旋转、透明度)。譬如,如果你有一个TextView对象,您可以移动、旋转、缩放、透明度设置其文本,当然,如果它有一个背景图像,背景图像会随着文本变化。补间动画通过XML或Andro

2016-03-11 19:37:20 712

原创 Android-XML转成View过程简述

背景一般我们创建Activity的时候,先是在布局XML中添加好想要的内容。之后,在Activity的java文件中,添加如下代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi

2016-03-11 19:35:26 1550 1

转载 Android-Frame Animation介绍

介绍:引用:Frame动画是一系列图片按照一定的顺序展示的过程,和放电影的机制很相似,我们称为逐帧动画。Frame动画可以被定义在XML文件中,也可以完全编码实现。继承关系介绍:从继承关系中可以看出来,其实AnimationDrawable就是一个绘画容器。使用时,将多个绘制出来的图片添加到AnimationDrawable中,再一帧帧的播放出来,从而达到动画效果。和一开始引用的介绍内容不谋而合。A

2016-03-11 19:33:24 605

原创 学习笔记--内核中C语言和汇编的使用

前言好像有好长一段时间没有写认真这一个技术型的博客了。感觉没有将新学的知识记录下来,很快就丢掉了,回过头来,还是一场空。所以,写博客是一个长期而持久的事情。最近,在学习linux内核,用到了AT&T汇编和C语言。在内核中,总是出现两者的混编,在这里总结一些最近的学习成果。等到以后需要用到的时候,可以快速回忆起来。下面开始进入主题了。希望我的这个文章,不会让读者嫌弃,如有错误,请指出。C语言的编译和连

2016-01-23 15:41:03 1504

原创 汇编语言--ARM汇编

ARM汇编指令总结目的总结目的是为了看懂ARM返汇编程序含义。如果是抱着来看这篇blog的盆友,希望可以帮到你们;如果有错误,请多指出。谢谢!#ARM指令的一般格式arm指令字长为固定的32位。一条典型的arm指令编码格式如下:一条典型的ARM指令语法格式如下所示: 参数 opcode:指令操作符编码cond:决定指令的操作是否影响CPSR的值S:决定指令操作是否影响CPSR的值Rd:目标寄存器

2015-12-09 19:30:40 7126

原创 读书笔记-命令行总结

总结了常用的命令语句

2015-12-09 19:27:01 790

原创 汇编语言-子程序调用

汇编语言-子程序调用

2015-11-08 18:43:31 9684

原创 汇编语言-转移指令的原理

汇编语言-转移指令的原理

2015-11-08 18:36:07 875

转载 汇编语言-直接定址表

汇编语言-直接定址表

2015-11-08 18:22:10 896

原创 汇编语言-内中断

内中断和int指令介绍

2015-11-08 18:18:10 973

原创 汇编语言-汇编程序初识

汇编语言-汇编程序初识

2015-11-08 18:09:28 882

原创 汇编语言-多个段的程序

汇编语言-多个段的程序

2015-11-08 18:03:10 1806

原创 汇编语言-端口和外中断

汇编语言-端口和外中断

2015-11-08 17:56:33 1058

原创 汇编语言-标志寄存器

汇编语言-标志寄存器, 检测比较结果的条件转移指令, abc, sbb

2015-11-08 17:46:36 3399

原创 汇编程序-更灵活的定位内存地址方法

汇编程序-更灵活的定位内存地址方法

2015-11-08 17:29:15 664

原创 汇编语言-[BX]和loop指令

汇编语言-[BX]和loop指令

2015-11-08 17:15:12 965

原创 读书笔记-整洁代码编写

读书笔记-整洁代码编写概述

2015-10-29 15:59:53 638

原创 iOS-Storyboad动态刷新

iOS-Storyboad动态刷新

2015-10-14 18:00:55 2788

Android使用APT的Demo

Android使用APT的Demo:主要就是用APT,解析注解。然后通过javapoet,生成相应的java类。

2016-09-07

APT使用Demo

APT使用Demo

2016-09-07

手势学习demo

android手势学习demo

2016-05-03

Android-Intent使用方法详解

Android-Intent使用方法详解 配合(http://blog.csdn.net/daiyibo123/article/details/51227160)博客查看。使用Android stdio编写。

2016-04-23

arm-linux交叉编译环境——4.5.1

arm-linux交叉编译环境——4.5.1

2016-01-11

学习笔记-基础Shell编程

shell编程,写的比较好的基础入门资源

2015-12-14

iOS-语言本地化

iOS-语言本地化, 提供了在app自由切换不同语言的解决方法。

2015-10-20

Storyboad动态刷新(最新)

Storyboad动态刷新(最新), 提供一个用动态刷新日历类Demo, 代码中清晰提供了创建自定义UIView的初始化框架

2015-10-19

Storyboad动态刷新-IBInspectable和IB_DESIGNABLE

Storyboad动态刷新-通过下面属性(IBInspectable和IB_DESIGNABLE)

2015-10-14

自定义Control按钮—Demo

自定义UIControl控件的例子。 功能:通过手势滑动,调节进度条的进度。通过如果进度条改变了,触发UIControlChangeValue消息。

2015-10-06

splitViewDemo

代码实现splitViewConttroller. 希望可以帮助到大家

2015-09-29

自定义collectionView

自定义collectionView的代码例子, 写明了每一个方法的作用, 自定义实现了一个滚动效果

2015-09-28

sourcetree

sourcetree中文版,希望对大家有帮助

2015-04-09

空空如也

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

TA关注的人

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