自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SSL/TLS协议

SSL/TLS协议SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。NetScape(网景)公司在1994设计了SSL协议。IETF 就在把 SSL 标准化。标准化之后的名称改为 TLS(是“Transport Lay

2018-01-16 15:59:08 470

原创 HTTP、HTTPS、HTTP/2

HTTP超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted

2018-01-15 16:24:31 2427

原创 SPDY

SPDY是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强。新协议的功能包括数据流的多路复用、请求优先级以及HTTP报头压缩。谷歌表示,引入SPDY协议后,在实验室测试中页面加载速度比原先快64%。基本特征:复用流:SPDY允许在一个连接上无限制并发流。因为请求在一个通道上,TCP效

2018-01-15 14:16:49 757

原创 Android自定义控件drawText的baseline的问题

我们都知道Android的文本有个baseline,但是具体是什么大多数人应该都是含糊其词,用到时候位置重视感觉不能居中,我也记录一下先看一张图:上面有很多的标记,大家可能对基本的结构就已经清楚了,可以看到baseline的位置位于中间偏下的位置,这就是大家有时候无法居中的主要原因;如何获取图片中的各个位置,Paint提供了方法:Paint.FontMetrics查看代码:public static

2017-10-20 12:06:18 744

原创 从android-apt切换到annotationProcessor

项目中的EventBus ,Butterknife…等框架都采用了android-apt注解预编译的方式(在编译期生成代码,提高效率),Android Studio推出了官方插件annotationProcessor,并且可以通过gradle来简单的配置;所以apt的作者早已经宣布不再维护了,但是在项目中一直没有替换,最近抽空将apt,替换成了annotationProcessor首先要确保Andr

2017-10-16 12:05:13 1164

原创 AndroidStudio配置NDK/JNI开发环境

1、 新建一个Android工程2、 在AndroidStudio中配置NDK路径2.1 先下载NDK并安装2.2 点菜单栏的File->ProjectStructure…->在打开的窗口中左侧选中SDKLocation->在右侧Android NDK Location中填入NDK目录所在路径,如下图所示:3、 编译生成.class文件,点菜单栏的Build->Make Project。在工程的ap

2017-10-10 10:46:40 464

原创 泛型类型Type的详解

Type打开java api 文档可以Type是一个空接口Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。讲的就是他的几个直接子类大概意思就是:Type是所有类型的公共接口(父接口),其意义表示Java所有类型,这里所谓的类型是从Java整个语言角度来看的,比如原始类型、参数化类型(泛型)、类型变量及其数组等。Type跟class

2017-09-30 17:20:42 1674 1

原创 解决在Android设备播放音频与其他应用重音的问题,并监听耳机的控制按钮

概述在安卓开发中免不了需要播放一点音乐了,音频了。但是这时候有别的应用正在播放,这时候就会出现重音的现象,完全影响用户体验,我们的项目就遇上了这样的尴尬,然后查找了一些文档,记录一下;管理音频焦点从谷歌开发了解到,这跟音频的焦点又关系,我们可以获取当前音频的焦点来解决问题; 有多个应用程序可能播放音频,重要的是要考虑他们应该如何交互。为了避免每个音乐应用程序同时播放,Android使用音频焦点来控

2017-07-16 15:43:08 5911

原创 Android中的内存管理机制

最近一个在学习安卓的朋友又问了我关于安卓内存机制的问题,在这里系统的记录一下:概述对于一个操作系统,一般来说为会为每一个进程分配一个合理的内存大小,保证每一个进程能够正常的运行,不至于内存不够使用或者每个进程占用太多的内存。在系统内存不足的时候,需要有一个合理的回收再分配的机制,以保证新的进程可以正常运行。回收的时候就要杀死那些正在占有内存的进程,操作系统需要提供一个合理的杀死这些进程的机制,以保证

2017-07-05 15:17:02 382

原创 高德地图,百度地图坐标系GPS的转化

最近需要调用同程酒店的接口,在传gps的时候,我们采用的高德的坐标体系,同程采用的是百度的坐标体系,这样位置会有偏差,然后就一番搜集资料记录一下:坐标体系1.WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的经纬度(国外)都是基于WGS-84坐标系的;但是在国内是不允许直接用WGS84坐标系标注的,必须经过加密后才能使用;

2017-06-21 17:38:45 3562

转载 Android InputMethodManager 导致的内存泄露

文章参考:https://zhuanlan.zhihu.com/p/20828861?refer=zmywly8866InputMethodManager内存泄露修正方案,在退出使用InputMethodManager的Activity时,调用fixFocusedViewLeak方法即可解决。/** * Fix for https://code.google.com/p/android/i

2017-06-15 15:19:40 359

原创 在线激活 Intellij Idea,webstorm,phpstorm

最新License serverhttp://idea.iteblog.com/key.phpwebstorm最近又不能用了,记录一下

2017-06-12 14:15:24 363

原创 水平RecyclerView中Item中含有EditText问题

最近使用竖直方向的RecyclerView中嵌套水平的RecyclerView,然后每个小的item都是一个EditText,然后让所有水平的RecyclerView联动,这样就形成了一个可以上下左右移动的并且可以填写的表格,满足产品需求;完成后就发现了一个bug,点击屏幕外的edittext获取到焦点后水平的recyclerView就自动滚动到了头部; 首先做了这样的尝试,让edittext默认

2017-05-25 12:06:19 1921

原创 RecyclerView嵌套RecyclerView踩的坑

最近项目中需要采用在竖直方向的Recyclerview中嵌套水平RecyclerView,同时顶部还需要使用CoordinatorLayout和CollapsingToolbarLayout实现折叠布局,刚开始觉得没什么难度,使用后发现滑动RecyclerView并不能折叠布局,第一感觉就是嵌套导致了RecyclerView 的滑动响应出了问题,然后做个各种尝试,都没有很顺畅的解决,快要放弃的时候在

2017-05-22 20:32:15 6940

原创 Android热修复框架Tinker的集成和遇到的问题

移动app开发的一个痛点就是遇到了bug只能重新打包,上传各个市场,审核,客户使用app后还会检查更新下载,这样为了修复一个bug而进行的这一套繁琐的操作,成本很高,不管对企业还是对用户都很烦恼;热修复的需求是很迫切的,近几年热修复的发展也很快,各个龙头企业都推出自己的热修复框架,之前了解过阿里的Dexposed,Andfix,QQ空间团队的Nuwa等等,都有很多不成熟的地方;什么是 TinkerT

2017-04-18 18:37:06 982

原创 GreenDao3.0基本配置和多表联查

GreenDao的优点性能高,号称Android最快的关系型数据库支持数据库加密 greendao支持SQLCipher进行数据库加密库文件比较小,小于100K内存占用小GreenDao 3.0的变化3.0之前需要通过新建GreenDaoGenerator工程生成Java数据对象(实体)和DAO对象,非常的繁琐而且也加大了使用成本。GreenDao 3.0最大的变化就是采用注解的方式通

2017-04-13 18:12:43 1285

原创 程序员必须知道的一些开发社区

程序员必须知道的一些开发社区下面我们来看一下程序员经常去的14个顶级开发者社区,如果你还不知道它们,那么赶紧去看看,也许会有意想不到的收获。1.Stack Overflow国外知名的技术论坛,涉及到各方面的开发技术,如果你觉得你的技术和英语都比较好,可以尝试在这里提问和回答问题。官方网站:http://stackoverflow.com/2.RedditReddit自不用多说,是一个综合性的社区平台

2017-04-11 16:58:13 794

原创 Android资源图片的优化减小apk的体积

图片的格式Android目前原生支持的图片格式又:JEPG、PNG、GIF、WebP(Android4.0后支持)应用层支持gif需要导入第三方的库JEPG 有损压缩图片标准格式,他不支持透明和多帧动画; PNG 无损压缩图片格式,支持完整的透明通道,jepg只有RGB三个通道,而PNG有ARGB四个通道,由于只无损压缩,因此PNG占用的一般比较大,这无形中会增加app的体积,在做app瘦身

2017-04-07 18:48:33 802

原创 MultiDex的介绍和配置并提高构建效率

MultiDex最近优化升级项目,终于报了64K方法限制数的问题,顺便记录一下解决的方案;64K限制的原因Android APK文件本质是一个压缩文件,它里面包含了classes.dex文件是可执行的Dalvik(安卓虚拟机)字节码文件,这个 .dex文件中存放的是所有编译后的Java代码。Dalvik可执行文件规范限制了单个dex文件最多能饮用的方法数是65536个,其中还包含了Android F

2017-04-06 11:24:42 489

原创 安卓动态申请权限在Fragment无法回调的问题

Fragment申请权限无法回调的问题最近在整改优化我们的项目,突然发现了之前的一个fragment动态申请了读写存储卡权限,却在自己的onRequestPermissionsResult中无法回调,检查过自己的项目后,发现并没有什么问题,一时间也不知道怎么解决,赶紧网上翻看了各种的文章,都是血基础的问题,自己的项目中并没有那些问题;然后自己写了demo,也并无任何问题;代码一摸一样,最后在 Sta

2017-03-29 16:44:18 4624 1

原创 React-Native环境的搭建并运行facebook例子

react-native环境的搭建1、安装Homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"可以通过下面命令查看Homebrew是否安装成功brew -v2、安装Node.js可以通过下载地址(Node.js官网下载):https://no

2017-03-12 22:11:41 515

原创 Java数组和链表的区别

Java数组和链表的区别从数据结构上说,数组的内存空间是连续的,我们创建数组的时候系统就会为我们开辟固定数目的内存空间,如果内存不足,就会创建失败,例如创建数组的两种方式: int[] a=new int[3]; int[] b=new int[]{1,2,3}; 可以看到我们创建数组的时候已经指定了数组的大小,且不能动态更改数组的大小,是因为创建时候已经分配了连续的固定内存空间,每个元素占用

2017-03-08 11:29:04 4144

原创 static关键字

static关键字使用总结static修饰字段static修饰属性表示该属性是静态属性(静态变量),类属性(类变量)。静态属性由该类的所有实例所共享,属于类本身,可用类名.属性名直接访问静态属性先于类的实例而存在。静态属性在类的初始化过程中就被创建了,且被保存在了全局数据区的静态区。静态属性的继承问题:在包可见性允许的情况下,子类可以继承父类的静态属性。ps:静态属性在类被加载时候会给分配一块内存,

2017-02-27 11:02:58 231

原创 Android自定义Toast

安卓自定义Toast

2017-02-26 11:44:07 251

空空如也

空空如也

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

TA关注的人

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