自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xuanzhiqiang的博客

路在脚下

  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android 系统C++智能指针----总结

一、前言想要成为一名优秀的Android开发者, 我们避免不了要深入Android系统进行学习。只有搞明白了Android系统的运行机制、原理,我们才能更加得心应手的开发出性能优越的Android应用。当然,在进行深入学习之前我们也需要具有一定的基础(例如:C++),想要深入学习Android系统的朋友们还是有必要先去学习C++的。因为在Android底层很多的核心功能都是使用C++开发出来的...

2019-03-09 23:32:04 862

原创 双SurfaceView实现手机摄像头预览、监听每一帧做处理绘制浮层效果(Demo画了一个矩形上去)

应用场景当时用手机摄像头做实时预览时、需要对视频中的图像做人脸检测、绘制一些效果到人脸上等。。。实现思路1.自定义 CameraView extends SurfaceView 做摄像头预览。 2.自定义 FloatingLayerView extends SurfaceView 做上层图标绘制。 3.自定义 DoubleSurfaceView extends FrameL...

2018-07-27 11:46:25 2006 1

原创 Picasso框架分析

Picasso框架分析https://github.com/square/picassoimplementation 'com.squareup.picasso:picasso:2.71828'先来一张简图核心组成Picasso:外观设计模式、门户Dispatcher:任务的分发调度者(运行在单独的线程中)PicassoExecutorService:线程池Bitm...

2018-07-05 16:38:51 1664

原创 UML类图绘制指导

六大关系与图形表示1.泛化(继承) 泛化定义了一般元素和特殊元素之间的分类关系,类之间的这种泛化关系也就是继承关系。空心三角指向父类2.关联关联是模型元素之间的一种语义联系,是类之间的一种很弱的联系。关联可以有方向,可以是单向关联,也可以是双向关联。3.聚合 聚合是一种特殊的关联,聚合表示整体与部分的关系。聚合关系是“has-a”关系聚合...

2018-06-21 11:03:40 5160

原创 自动化编译、buildNo自增长

自动编译打包、buildNo自增长实现思路:把buildNo,保存到配置文件。每次打包前读取配置文件,获取buildNo的值 +1 ,然后执行打包任务。打包结束判断是否成功,成功修改buildNo的值。并提交git、创建分支。buildSrc在项目根目录下创建buildSrc目录。buildSrc目录被视为Gradle项目的指定路径。 groovy代码写在:buildSrc/sr...

2018-05-21 12:36:37 948

原创 只出现一次的数字

只出现一次的数字给定一个整数数组,除了某个元素外其余元素均出现两次。请找出这个只出现一次的元素。备注:你的算法应该是一个线性时间复杂度。 你可以不用额外空间来实现它吗?解利用异或的性质解决问题异或:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)a ⊕ a = 0a ⊕ b = b ⊕ aa ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;...

2018-04-15 11:55:20 186

原创 JAVA垃圾回收机制基本概念

JVM垃圾回收基本策略背景知识介绍JVM百度百科上是这么介绍的: JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JAVA的内存模型(JMM)计算机程序在运行的过程中都需要同内存打交道,JAVA内存模型就是JAVA虚拟机在同内存的交互过...

2018-04-02 23:39:17 563

原创 Android全局异常捕获

Android全局异常的捕获为了更好的完善我们的项目,通常需要对产品不停的迭代维护,计时的收集用户使用过程中发生的异常信息就显得非常重要。市面上有一些第三方工具提供该功能:例如:腾讯的Bugly、友盟统计等。 但是有时间为了减少我们的apk的大小或公司要求,会禁止使用这些第三方工具,所以我们需要自己提供这个简单的功能。Thread.UncaughtExceptionHandler接口...

2018-02-24 16:50:38 2349

原创 Android多线程断点续传

断点续传思考:1.断点续传,就是当一次下载任务由于某些因素中断下载,能够继续上次下载的位置继续下载,不必在从头开始。2.支持多线程,就是把一个下载任务分配给多个线程去下载,每一个线程只下载一部分内容。分析:http协议,一次下载请求,就是请求远端服务器一个资源(url),建立TCP链接,把服务器资源写入本地的一个过程。那么如果要实现断点续传的必要条件:1.我们能够知道下载资源的大小(多少字节)

2017-10-26 11:59:50 207

原创 HTTP协议简单总结

概述HTTP协议(超文本传输协议),是互联网上应用最为广泛的一种网络协议。所有的www文件都必须遵守这个标准。历史HTTP协议是基于TCP/IP协议的应用层协议。它不涉及数据包传输,主要规定了客户端和服务之间的通信格式,默认使用80端口。一、HTTP/0.9最早版本是1991年发布0.9版。该版本只有一个命令GET。GET/index.html上面命令表示,TCP链接建立后,客户端向服务器请求网页

2017-08-30 18:30:53 303

原创 Java 内存模型

参考文章 深入理解Java内存模型 深入理解Java内存模型(一)——基础 深入理解Java内存模型(二)——重排序 深入理解Java内存模型(三)——顺序一致性 深入理解Java内存模型(四)——volatile 深入理解Java内存模型(五)——锁 深入理解Java内存模型(六)——final 深入理解Java内存模型(七)——总结Java Mem

2017-08-27 16:44:07 460

原创 Java多线程基础

Java多线程学习[参考学习视频](http://www.imooc.com/learn/202)基本术语进程:程序(任务)的执行过程(动态性的),持有资源(共享内存,共享文件)和线程 线程:是系统中最小的执行单元 同一个进程中可以有多个线程 线程共享进程的资源线程的交互:互斥、同步线程交互争用条件:当多个线程同时共享访问同一数据(内存区域)时,每个线程都尝试操作该数据,

2017-08-27 11:49:49 158

原创 Picasso使用解析

Picasso使用流程源码解析

2017-08-11 13:50:42 424 1

原创 DataBinding 基础使用

概述2015年谷歌I/O大会上介绍了一个新的框架DataBinding,数据绑定框架,有效降低了代码的耦合,节省了很多findViewById代码,相比较于网上很多快速注解框架,更加的灵活多变。1.基本使用1.1 环境搭建在对应模块的build.grade中的android节点下添加如下代码,就开启了DataBinding的使用dataBinding{ enabled = tru

2017-07-20 15:59:40 518

原创 Retrofit2 的基本使用 (一)

概述 Android开发中我们常用的基本网络请求方式有OkHttp,HttpClient, HttpUrlConnection这三个都是基于http请求封装的一个网络请求客户端。 Retrofit2是由Square公司开发的一个网络请求调度框架,对OkHttp进行了外层封装,方便我们使用。 本文主要介绍内容: - 基本的GET/POST请求的使用

2017-07-19 01:24:11 359

原创 RecyclerView的基本使用

概述RecyclerView大家可以通过导入support-v7对其进行使用。相比于ListView,GridView,RecyclerView的使用更加的灵活。主要有以下几部分组成 - 布局管理器LayoutManager - 条目动画ItemAnimator - 条目分割装饰ItemDecoration该控件并没有提供自己的事件监听接口,需要自己去实现。基本使用布局文件Item布局<?x

2017-07-18 13:47:31 297

原创 Java Io流总结

IO流部分框架图字节流字节输入流InputStream该抽象类是所有字节输入流的父类。FileInputStream | FileOutputStream从文件系统中按字节读取(写入)数据的输入(输出)流。构造方法FileInputStream(File file) 链接到一个实际的文件对象FileInputStream(S

2017-07-14 23:58:14 188

原创 Java集合总结(二)

List接口实现类一. ArrayList 特征: 1.允许添加添加null,可以存储重复数据,有序的,底层是数组结构增删慢,查询快。是非线程安全的。 // 1.初始化 ArrayList<Book> arr = new ArrayList<Book>(); // 2. 允许添加 null,可以有重复数据,是有序的,底层是数组结构 ar

2017-07-12 21:52:04 198

原创 Java类集学习总结(一)

java集合学习总结

2017-07-12 13:53:22 240

原创 雷达区域控件

自定义雷达图

2016-09-22 17:10:42 439

原创 GIT 学习

git学习笔记

2016-08-31 12:54:23 334

原创 使用butterknife

AndroidStudio中butterknife的使用方法

2016-08-26 09:08:40 243

原创 TextWatcher介绍

TextWatcher介绍android.text.TextWatcher;一个接口,用来监听输入文本的改变三个方法 /** * 改变之前 * @param s 变化前输入框文本 * @param start 开始变化前光标位置 * @param count 原文本将要发生变化的字符数量 * @param after 将要增加的字符数,减少为0 */@Overridepublic

2016-08-17 12:18:00 337

原创 AndroidStudio快捷键总结

AndroidStudio快捷键总结—-常用快捷键1.Ctrl+E,可以显示最近编辑的文件列表  2.Shift+Click可以关闭文件  3.Ctrl+[或]可以跳到大括号的开头结尾  4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方  5.Ctrl+F12,可以显示当前文件的结构  6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择  7.Ctrl+N

2016-08-16 11:08:02 154

Android实时预览摄像头、绘制浮层

双SurfaceView实现手机摄像头预览、监听每一帧做处理绘制浮层效果(Demo画了一个矩形上去)

2018-07-27

多线程下载支持断点续传

使用HttpURLConnection写的一个多线程下载工具,支持断点续传

2017-10-26

空空如也

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

TA关注的人

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