自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Android View显示过程

研究在布局文件加载之后,View是如何被显示到屏幕上来的,也就是研究View的显示过程。下面将从以下两个方面做介绍:1、从加载layout文件到view的测量、布局和绘制的全过程。2、surface、surfaceFlinger与view是如何关联起来的。       在Activity的onCreate方法中,我们通过setContentView(view)来初始化定义好的一个view,而此

2017-06-30 16:59:21 1410

翻译 关于Glide走一发

Glide是一个快速和有效的开源图像加载Android框架,内存和磁盘缓存,和资源汇集成一个简单和易于使用的界面。Glide支持抓取、解码和显示视频照片,图片,动画gif。Glide包含一个灵活的api,允许开发者插入任何网络协议。默认情况下Glide使用自定义基于HttpUrlConnection协议,但是也包含了替代google的实用库Google's Volley pro

2017-05-26 15:26:46 589

原创 最全面的Android热修复技术

2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案、阿里AndFix以 及微信Tinker,它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较头疼的问题。本文希望通过介绍QQ空间补丁、Tinker以及基于AndFix的阿里百川HotFix技术的原理分析和横向比较,帮助开发者更深入了解热修复方案。技术背景

2017-05-26 14:42:46 736

原创 APP性能优化经验

内存简介: RAM(random access memory)随机存取存储器。说白了就是内存。一般Java在内存分配时会涉及到以下区域: 寄存器(Registers):速度最快的存储场所,因为寄存器位于处理器内部,我们在程序中无法控制栈(Stack):存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆(Heap):堆内存用来存放由new创建的对象和

2017-05-16 09:08:18 812

转载 android音视频点/直播模块开发

一. 音视频的基础知识1.1 基本概念视频是什么静止的画面叫图像(picture)。连续的图像变化每秒超过24帧(frame)画面以上时,根椐视觉暂留原理,人眼无法辨别每付单独的静态画面,看上去是平滑连续的视觉效果。这样的连续画面叫视频。当连续图像变化每秒低于24帧画面时,人眼有不连续的感觉叫动画(cartoon)流媒体指采用流式传输的方式在Internet /

2017-05-01 19:06:22 582

原创 浅谈MD5

MD5算法具有以下特点:1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、容易计算:从原数据计算出MD5值很容易。3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。MD5的作用是让大容量信息在用数字签名软件签署私人

2017-04-21 14:15:31 677

原创 Android音视频点/直播模块开发实践总结

1.1 基本概念视频是什么静止的画面叫图像(picture)。连续的图像变化每秒超过24帧(frame)画面以上时,根椐视觉暂留原理,人眼无法辨别每付单独的静态画面,看上去是平滑连续的视觉效果。这样的连续画面叫视频。当连续图像变化每秒低于24帧画面时,人眼有不连续的感觉叫动画(cartoon)。流媒体采用流式传输的方式在Internet / Intranet播放的媒

2017-04-21 13:53:48 600

转载 Android Https相关解析与okhttp

一、概述其实这篇文章理论上不限于okhttp去访问自签名的网站,不过接上篇博文了,就叫这个了。首先要了解的事,okhttp默认情况下是支持https协议的网站的,比如https://www.baidu.com,https://github.com/hongyangAndroid/okhttp-utils等,你可以直接通过okhttp请求试试。不过要注意的是,支持的https的网站基本都是C

2017-04-18 19:17:44 768

原创 java 泛型的讲解

在日常的开发中,我们会看到别人的框架很多地方会使用到泛型,泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。本篇博客我们就来详细解析一下泛型的知识。泛型类定义及使用使用泛型有什么好处呢?首先

2017-04-15 10:11:04 371

转载 Android UI性能优化 检测应用中的UI卡顿

http://blog.csdn.net/lmj623565791/article/details/58626355本文出自张鸿洋的博客一、概述在做app性能优化的时候,大家都希望能够写出丝滑的UI界面,以前写过一篇博客,主要是基于Google当时发布的性能优化典范,主要提供一些UI优化性能示例:Android UI性能优化实战 识别绘制中的性能问题实际上,

2017-04-15 10:08:32 492

原创 关于MVC设计模式

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

2017-04-15 10:06:01 2817

原创 如何制作动态图片gif

制作动态图片:        1.首先我们要先准备一个视频,并记住视频的总时长。        2.打开 http://ezgif.com/ 如图所示:                3.点击 Video to GIF,进入如下页面:        4.点击浏览,并选择视频的路径,然后点

2017-04-13 14:04:42 758

原创 Android之MVP与MVC、MVVM的区别

1.MVC特点:用户可以向View发送指令,再有View直接要求Model改变状态用户也可以直接向Controller发送指令,再由Controller发送给viewController起到事件路由的作用,同时业务逻辑都部署在controller中MVC图示:由上图可以看到,MVC的耦合性还是相对较高,View可以直接访问model,导致3者之间构成回路,因此MVP

2017-04-13 14:01:25 469

转载 基于RollPagerView实现图片轮播功能

前言各大电商app,新闻类app均有图片轮播的功能,自己写代码可以通过viewpager来实现,但实现起来非常不方便,要写一堆的代码。然而,业界有很多第三方的组件可以实现轮播的功能,何必自己再造车轮子?下面介绍如何基于RollPagerView实现图片轮播效果。步骤gradle中导入包增加:compile ‘com.jude:rollviewpager:1.2.9’

2017-04-10 17:05:26 600

原创 Android之第三方框架使用汇总

image loading 框架网络框架1Glide一Glide-Getting Started二Glide-Advanced Loading三Glide-Sample Gallery Implementation ListView四Glide-Placeholder Fade Animations五Glide-Image Resizing Scaling六Glide Displaying Gif

2017-04-01 11:08:42 488

原创 android大文件

由于android自身的原因,对大文件(如影视频文件)的操作很容易造成OOM,即:Dalvik堆内存溢出,利用文件分割将大文件分割为小文件可以解决问题。文件分割后分多次请求服务。 1 //文件分割上传 2 public void cutFileUpload(String fileType,String filePath) 3 { 4 tr

2017-03-30 20:07:24 841

原创 Android的DialogFragment的基本使用方法

Android的DialogFragment的使用在使用时,对Android系统有了最低API为11的限制1.新建继承于DialogFragment的类在类中由一个按钮,点击按钮关闭对话框。layout中只有一个按钮,代码在此就不贴出来了。[java] view plain copypublic class Fragment_Se

2017-03-29 19:54:28 834

原创 RadioButton的点击变色

Button的点击事件通过内部类方式通过匿名内部类的方式让当前类实现OnClickListener接口类型布局有很多按钮时使用申明一个方法方法名和你要点击的按钮的方法相同在activity内定义一个方法适合快速demoRadioButton点击事件RadioButton布局RadioButton的点击事件代码背景选择器RadioButton的实现效果

2017-03-29 09:40:16 1185

原创 Volley的用法

Android Volley 框架的使用(一)由于这部分内容较多,所以打算分成几个部分来写,这篇文章主要是从整体上介绍Volley框架的基本使用;为什么要使用Volley框架开发Android应用很多时候都要涉及网络操作,Android SDK中提供了HttpClient 和 HttpUrlConnection两种方式用来处理网络操作,但当应用比较复杂的时候

2017-03-29 09:37:08 399

转载 GitHub的备忘录

1.参与一个开源项目,一定要从自己的帐号下克隆版本库,这样你才能推送修改!2.Repository 版本库,又名仓库:可以简单地理解为一个目录,且目录下的所有文本文件可被 Git 管理(建议用 UTF8 编码)。3.用 git config 命令的 --global 参数,表示你机器上所有的 Git 版本库都会使用这个配置:$ git config --gl

2017-03-28 14:33:58 507

原创 Android使用ViewPager实现左右循环滑动及轮播效果

ViewPager是一个常用的Android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息。为此我查阅了网络上现有的一些关于实现这样效果的例子,但都

2017-03-28 11:03:35 371

原创 Android okHttp网络请求之Json解析

前面两篇文章介绍了基于okHttp的post、get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率?     okHttp相关文章地址:Android okHttp网络请求之Get/Post请求Android okHttp网络请求之文件上传下载Android okHttp网络请求之Json解析Android okHttp网

2017-03-28 10:59:49 1450

原创 ViewDragHelper的源码分析及概述学习

一、概述使用到ViewDragHelper是自己在做仿微信的侧滑删除操作时用到的,需要对Recycleview内的Item的滑动事件做处理,并将隐藏在屏幕右侧的view滑出来做出删除操作。自己的demo删除了,这里就借用一下ITluochen大神的demo,主要是能为自己以后用到ViewDragHelper提供方便与指引,ITluochen大神的demo讲解的其实非常详细了,大家也

2017-03-27 19:44:57 530

转载 Http与Android网络请求的几种协议

HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(

2017-03-27 19:39:47 1118

转载 Android自定义View的实现方法,带你一步步深入了解View

如果说要按类型来划分的话,自定义View的实现方式大概可以分为三种,自绘控件、组合控件、以及继承控件。那么下面我们就来依次学习一下,每种方式分别是如何自定义View的。一、自绘控件自绘控件的意思就是,这个View上所展现的内容全部都是我们自己绘制出来的。绘制的代码是写在onDraw()方法中的,而这部分内容我们已经在 Android视图绘制流程完全解析,带你一步步深入了解View(

2017-03-24 09:51:38 654

原创 invalidate、postInvalidat、 postInvalidateOnAnimation 区别

1.先看postInvalidate方法执行过程[code] public void postInvalidate() { postInvalidateDelayed(0); } public void postInvalidateDelayed(long delayMilliseconds) { // We try only with

2017-03-24 09:44:30 1034

原创 Android实现RecyclerView侧滑删除和长按拖拽

RecyclerView实现拖拽排序侧滑删除效果事先说明:RecyclerView是ListView的升级版,使用起来比ListView更规范,而且功能和动画可以自己添加,极容易扩展,同样也继承了ListView复用convertView和ViewHolder的优点。思路分析:1、导包、在布局中使用RecyclerView2、需要一个

2017-03-23 09:19:25 2499

原创 Android Studio导入第三方类库的方法

首先说一说将第三方库导入Android Studio的方法,以xUtils为例,导入jar包的方式,比较简单,再次不做介绍。我门主要讲的是library库文件引入的方式。第一步我们要做的是将要引入的包,放在我们的工程目录下,如下图然后在我们的工程目录下就可以看到这个第三方库了但是这还不够,我们还需要在工程的app目录(工程根目录有一个,工程的app目录下也有

2017-03-23 09:10:03 787

原创 Hashcode方法的用法

浅谈Java中的hashcode方法  哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:1public native int hashCode();  根据这个方法的声明可知,该方法返回一个int类型的数值,并且是

2017-03-22 16:45:17 424

原创 三种adapter的区别和用法

Android提供的三种adapter主要有ArrayAdapter,SimpleAdapter,SimoleCuisorAdapter是简单的字符串适配器,simpleAdapter是可以自定义子View布局的,可以有图片,SimpleCursor主要用语数据库,前两个的数据来源一般都是String[]或者List,后一个数据来源一般是数据库查询得到的Cuesor 而我们自定义用的最多的还是继承

2017-03-22 16:25:38 5129

空空如也

空空如也

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

TA关注的人

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