自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 SVG(SVG概述、SVG图片使用、SVG动画使用实例

1、SVG概述SVG(Scalable Vector Graphics) : 可缩放矢量图形,使用 XML 格式定义图像。优势:SVG是矢量图形文件,无限放大不失真。可以用CSS样式来自由定义图标颜色,比如颜色/尺寸等效果。所有的SVG可以全部在一个文件中,节省HTTP请求 。使用SMIL、CSS或者是javascript可以制作充满灵性的交互动画和滤镜效果。由于SVG...

2018-10-27 10:04:24 2478

原创 SDK 25 monkeyrunner 无法使用问题

SWT folder '..\framework\x86_64' does not exist.Please set ANDROID_SWT to point to the folder containing swt.jar for your platform./tools/bin/monkeyrunner.bat 执行报错无法使用:原因为bat脚本有两处错误一 old:if exist...

2018-10-27 10:00:51 454

原创 Android drawable和mipmap到底怎么用?

Android引入了mipmap drawables,为设计启动器图标提供了更多的灵活性。Mipmap首次在Android Jelly Beans 4.3中引入。如果您正在为不同密度构建不同版本的应用程序,则应该了解mipmap资源目录。这与正常的可绘制文件夹资源完全相同,只是它在创建不同目标应用时不参与密度剥离而资源优化。我们把我们的mipmap可绘制放在res /文件夹下的mipmap /...

2018-10-27 10:00:40 3003

原创 android屏幕适配布局和字体

屏幕适配的这个问题到现在对于每个android开发人员来说,可能都是小菜一碟了,可三年前不这样,五花八门,简直八仙过海,各显神通。首先,由于android 的碎片化结构,我们目前知道的市面上仅针对手机或者平板的屏幕有以下几种:480x800 ,720x1280,1080x1920,1440x2560以及800x1280,1200x1920,2650x1800,2650x1600.......

2018-10-27 10:00:28 694

原创 Glide 第一次只加载显示 placeholder 的解决

问题在使用 Glide 的过程中,出现图片加载的时候,在第一次加载的时候,就只会显示 placeholder 的图片。具体场景在评论中显示用户的头像,我使用得是第三方的CircleImageView,之后也替换成SDK提供的内置的CircleImageView,发现都是有这个问题的。解决最终,我使用了最初的 ImageView,而圆形的问题使用 Glide BitmapTran...

2018-10-27 10:00:01 1312

原创 android 实现只运行白名单应用

项目需求,要求本公司自己的外发设备必须只能用指定授权的白名单的应用。一开始,我是有抵触的,认为是黑科技。没办法,工作还是要认真做的。责任所在。于是,先确认思路。想到了几个方案:1、首先,想到的是,fullscreen activity+通过事件拦截,即,activity中的点击事件。2、广播+服务,广播Intent.ACTION_CLOSE_SYSTEM_DIALOGS 可以监听到Ho...

2018-10-27 09:59:34 3633

转载 Asynctask踩坑

原文地址:http://blog.csdn.net/zj510/article/details/51622597AsyncTask作为一个优秀的封装,很多人都在用,可是我估计很多人并不清楚多个AsyncTask对象到底是串行执行的,还是并行执行的,如果是并行的,那么最多同时执行几个异步任务呢?源码面前无秘密,我们看一下源代码就知道了。这里以Android-23为例。 AyncT...

2018-10-27 09:59:21 179

原创 Android studio 生成签名问题

问题现象:发布一个签名之后的应用。在模拟器和android 7.0真机运行没有问题,但是在android 5.0、5.1上面就是一直报错: image.png没错,就是INSTALL_FAILED_UPDATE_INCOMPATIBLE ,不兼容!!!问题定位:INSTALL_FAILED_UPDATE_INCOMPATIBLE 问题无非以下几个方面定位:1、SDK的使用版...

2018-10-27 09:58:54 666

原创 android 扫描枪的坑

扫描枪蓝牙连接或者断开的时候,会导致当前所在的activity  onDestroy -> onCreate即activity被销毁又重建,类似屏幕旋转导致activity重建解决办法: 在xml中配置:android:configChanges="orientation|keyboard|keyboardHidden"然后在activity中重写onConfigurationC...

2018-10-27 09:58:27 1994

原创 Android createWindowSurface failed EGL_BAD_ALLOC 引起Crash的解决方案

这是报错日志:java.lang.RuntimeException: createWindowSurface failed EGL_BAD_ALLOCat android.view.HardwareRenderer$GlRenderer.createSurface(HardwareRenderer.java:1406)at android.view.HardwareRenderer$GlR...

2018-10-26 09:49:55 5700 1

原创 android用okhttp的坑之java.io.IOException: unexpected end of stream on okhttp3.Address@178de5cc

在使用Okhttp的过程中频繁的发起Http请求时偶尔会看到如下的错误ERROR [IOException]-[120]java.io.IOException: unexpected end of stream on okhttp3.Address@178de5ccat okhttp3.internal.http.Http1xStream.readResponse(Http1xStre...

2018-10-26 09:49:32 17350 1

原创 手写RecyclerView万能适配器

适配器,大家都知道,不多说,直接上代码:package com.cn.happiness.mvplib.baseadpter;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android....

2018-10-26 09:49:16 320

翻译 Volley源码介绍最全的一篇

1. 功能介绍1.1. VolleyVolley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。名字由来:a burst or emission of many things or a large amount at once发布演讲时候的配图从名字由来和配图中无数急促的火箭可以看出 Volley ...

2018-10-26 09:48:52 158

原创 手写Fragment万能通信框架

android自3.0之后引入fragment之后,在开发项目的应用中,非常广泛,尤其是大项目。fragment相对activity,最大的好处就是轻,可以减少性能消耗,可扩展性也大大的增强。然后,它毕竟是依附于activity,那么,就不得不于activity互相通信。接下来,我简单的列举一下常用fragment通信的方式以及优势和缺点。1、handler优点:可以使用,代码简单。缺...

2018-10-26 09:47:52 196

原创 Picasso 、Glide、Fresco图片加载框架比较

Picasso   发布时间:2013年5月是否支持gif:false是否支持webPtrue:ture加载速度:中开发者 :Square主导max java heap:6.8MBmax native heap:18.2MB缓存:无”本地缓存,不是说没有本地缓存,而是 Picasso 自己没有实现,交给了 Square 的另外一个网络库 okhttp 去实现,这样的...

2018-10-26 09:47:09 440

原创 SVG向前兼容问题

android 5.0 提供了很多特性,矢量动画就是其中之一,但是对于5.0之前的版本需要做兼容,否则会crash。首先,需要在gradle 中加上:compile'com.android.support:support-vector-drawable:25.0.1'defaultConfig{ vectorDrawables.useSupportLibrary=true}Ac...

2018-10-26 09:46:53 455

原创 浅谈 Android 中的热修复、插件化、模块化开发的区别

随着移动应用(app)业务的扩展,原来传统的开发模式渐渐的无法满足现实需求,因此暴露出诸多问题,如65535问题、anroid stduio编译过慢的问题、应用修复成本过高等等..在2015年,终于爆发一场热修复的技术革命,各大公司分别推出解决方案:以阿里的andfix、腾讯的tinker、360的droidplugin为代表纷纷入场,当然,他们的出发点都是针对自己旗下的产品而设计,因此,也是各...

2018-10-26 09:46:42 702

原创 vue,angular,react数据双向绑定原理分析

数据双向绑定的定义当我们在前端开发中采用MVVM的模式时,M - model,指的是模型,也就是数据,V - view,指的是视图,也就是页面展现的部分。通常,我们需要编写代码,将从服务器获取的数据进行“渲染”,展现到视图上。每当数据有变更时,我们会再次进行渲染,从而更新视图,使得视图与数据保持一致。AngularJS:采用“脏值检测”的方式,数据发生变更后,对于所有的数据和视图的绑定关系进...

2018-10-26 09:46:02 549

原创 Bitmap的优化策略

思路: 1、BitmapConfig的配置 2、使用decodeFile、decodeResource、decodeStream进行解析Bitmap时,配置inDensity和inTargetDensity,两者应该相等,值可以等于屏幕像素密度*0.75f 3、使用inJustDecodeBounds预判断Bitmap的大小及使用inSampleSize进行压缩 4、对Densit...

2018-10-26 09:45:30 156

转载 HTTP2.0特性

一、多路复用的单一长连接1.单一长连接在HTTP/2中,客户端向某个域名的服务器请求页面的过程中,只会创建一条TCP连接,即使这页面可能包含上百个资源。  单一的连接应该是HTTP2的主要优势,单一的连接能减少TCP握手带来的时延 。HTTP2中用一条单一的长连接,避免了创建多个TCP连接带来的网络开销,提高了吞吐量。2.多路复用HTTP2虽然只有一条TCP连接,但是在逻辑上分成了...

2018-10-25 16:44:33 1075

转载 HTTPS和SSL握手过程

https介绍HTTPS = HTTP + 一组对称、非对称和基于证书的加密技术 HTTPS是最常见的HTTP安全版本。它得到了很广泛的应用,所有主要的商业浏览器和服务器都提供HTTPS。HTTPS将HTTP协议与一组强大的对称、非对称和基于证书的加密技术结合在一起,使得HTTPS不仅很安全,而且很灵活,很容易在出于无序状态的、分散的全球互联网上进行管理https与http连接过程区别...

2018-10-25 16:43:41 1321

原创 Serializable 和Parcelable区别

Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,Parcelable是通过IBinder通信的消息的载体...

2018-10-25 16:40:42 105

转载 Java字节码的结构

参考《Java虚拟机规范JavaSE7版》的描述来看,每一个字节码文件其实都对应着全局唯一的一个类或者接口的定义信息。字节码文件采用的是一种类似于C语言结构体的伪结构来描述字节码文件格式。为了避免与类的字段、实例等概念产生混淆,本书将用于描述类结构格式的内容定义为项(item)每一项都包括类型、名称以及该项的数量。类型可以是表明,也可以是“基本类型”。包含在字节码文件中,各项按照严格的顺序进行...

2018-10-25 16:39:50 246

原创 HashMap实现原理分析

1. HashMap的数据结构在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。数组和链表分别拥有不同的优势和缺点,而HashMap把它们组合起来了。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数...

2018-10-25 16:39:00 83

原创 java注解

什么是注解注解就是标签,同 class 和 interface 一样,注解也属于一种类型。它是在 Java SE 5.0 版本中开始引入的概念。注解通过 @interface 关键字进行定义。public @interface TestAnnotation{}它的形式跟接口很类似,不过前面多了一个 @ 符号。上面的代码就创建了一个名字为 TestAnnotaion 的注解。你可...

2018-10-25 16:38:02 77

原创 JVM、DVM、ANDROID RUN TIME(ART)的区别(简易篇)

1、什么是JVM?JVM本质上就是一个软件,是计算机硬件的一层软件抽象,在这之上才能够运行Java程序,JAVA在编译后会生成类似于汇编语言的JVM字节码,与C语言编译后产生的汇编语言不同的是,C编译成的汇编语言会直接在硬件上跑,但JAVA编译后生成的字节码是在JVM上跑,需要由JVM把字节码翻译成机器指令,才能使JAVA程序跑起来。JVM运行在操作系统上,屏蔽了底层实现的差异,从而有了J...

2018-10-25 16:36:59 173

原创 JAVA GC的垃圾回收机制

首先,要搞清楚Java和C++在内存分配和管理上有什么区别?对于c来说,在内存管理领域,他们既是拥有最高权利的皇帝,也是从事最基础工作的劳动人民-----既拥有每一个对象的所有权,又担负着每一个对象从生命开始到终结的维护责任。而对于java,虚拟机的自动内存分配机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,而且不容易出现内存泄露和内存溢出问题,看起来由虚拟机...

2018-10-25 16:31:26 92

原创 JAVA什么时候执行垃圾回收以及回收流程

编辑文章JAVA head 分三个区域:1、新生代:1).Eden(伊甸园)区是新对象分配内存的地方,由于堆是所有线程共享的,因此在堆上分配内存需要加锁。而Sun JDK为提升效率,会为每个新建的线程在Eden上分配一块独立的空间由该线程独享,这块空间称为TLAB(Thread Local Allocation Buffer)。在TLAB上分配内存不需要加锁,因此JVM在给线程中的对象分配...

2018-10-25 16:26:01 7553

andorid屏幕适配dimens生成工具

一个基于swing的dimens生成工具。可以节省不少开发时间

2017-03-30

Android图片验证码实现

实现图片验证码,挺实用的一个demo,基本满足了登陆或者注册时使用的需求。

2014-08-29

空空如也

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

TA关注的人

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