自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Volley与Picasso的对比

Volley与Picasso的对比想写一篇文章来对比一下Volley以及Picasso,有人或许会说了,Volley和Picasso的服务对象都不同,Picasso是专注于图片的下载以及处理,而Volley则适应于任何轻量的网络请求。是的,的确如此,那我们不如就图片下载缓存这个应用场景展开来,来对比分析Volley和Picasso的相同之处与不同之处。首先我们先来看一下Volley和...

2018-01-16 00:23:00 136

转载 WebView全面学习(二)-- Native与js双方通信

WebView全面学习(二)-- Native与js双方通信Native与js通信的本质Native与js通信的核心在于WebView.两端的通信主要还是单向的。假如要完成js->Native->js那么就需要把这两种单向的通信结合起来使用。两种通信的处理依旧是在Native端来完成Native调用js的代码:(两种方式)WebView.loadUrl() 优...

2017-12-24 03:37:00 368

转载 WebView全面学习(一)--常用类和方法

WebView全面学习(一)--常用类和方法WebView本质上是一个View,他基于webkit引擎来展示web页面在Android不同的版本webkit内核有所区别,从Android版本上看,4.4以后使用的是chromium来实现WebViewWebView的功能是十分强大的。系统默认的浏览器和WebView采用的内核一致。所以,基于WebView具有和浏览器一致的能力。因此...

2017-12-15 19:12:00 530

转载 Hybrid框架安全隐患分析

Hybrid框架安全隐患分析目前我司移动端项目中各种app如雨后春笋般生根发芽层出不穷.而利用Hybrid框架确实可以减轻一部分移动端压力.并且做到灵活发版.但是其中的安全问题往往让人忽略.针对Android端的目前的Hybrid项目.WebView引起的安全问题和漏洞等问题.下面做一个讨论.并针对相应的攻击方式采取措施,避免App中招.我司现有的Hybrid中多数都没有考虑到安全...

2017-11-23 20:19:00 287

转载 Android笔记--View绘制流程源码分析(二)

Android笔记--View绘制流程源码分析二通过上一篇View绘制流程源码分析一可以知晓整个绘制流程之前,在activity启动过程中:Window的建立(activit.attach生成),DecorView的建立(phonewindow.setContentView生成),两者利用ViewRootImpl(WindowManagerGlobal.addView生成)建立wi...

2017-10-27 19:52:00 154

转载 Android笔记--View绘制流程源码分析(一)

Android笔记--View绘制流程源码分析View绘制之前框架流程分析View绘制的分析始终是离不开Activity及其内部的Window的。在Activity的源码启动流程中,一并包含着Activity中window的创建以及view的绘制流程。在Activity启动流程进行到ActivityThread.performLaunchActivity时,利用反射创建了acti...

2017-10-07 16:04:00 93

转载 Android笔记--LayoutInflator源码和使用分析

LayoutInflator源码分析获取LayoutInflator对象获取LayoutInflator的方式有两种:使用LayoutInflator.from(Context context)可以获取到LayoutInflator对象。(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVIC...

2017-09-12 17:59:00 177

转载 Android笔记--BroadcastReceiver

BroadcastReceiver(一)--用法总结一. BroadcastReceiver简介BroadcastReceiver是Android四大组件之一,他的作用是监听并且接受系统或者其他App发出的广播,并对感兴趣的广播做处理。二. 广播的应用场景Android系统中各个组件之间的通信。同一应用或者不同应用都可以做到。最开始的组件化解耦常用的办法就是利用广播。但是后续...

2017-08-06 22:00:00 91

转载 Android--View事件传递

Android--View事件传递View事件传递首先要明白以下要素:事件就是MotionEvent.该对象包含了传递的事件中的所有信息事件的来源是Window(即PhoneWindow),包含window的是Activity.所以可以认为事件的源头是Activity对事件的操作包括:分发, 通过dispatchTouchEvent()分发拦截, 通过onIntercep...

2017-07-28 14:36:00 121

转载 内部类和静态内部类

内部类和静态内部类设计意图参考原文地址:https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html首先看写法:class OuterClass { ... static class StaticNestedClass { ... } class InnerClass { ...

2017-07-10 13:36:00 85

转载 Fragment(一)--Fragment用法常见问题

fragment notesfragment相关内容包括基本定义与使用回退栈内部实现fragment通信(与activity 与fragment)DialogFragmentVP + Fragment嵌套Fragment懒加载基本定义与使用(5个)fragment依赖于Activity,不能独立存在一个Activity可以有多个Fragment一个Fragment...

2017-06-12 01:35:00 377

转载 Volley源码解析(三) 有缓存机制的情况走缓存请求的源码分析

Volley源码解析(三) 有缓存机制的情况走缓存请求的源码分析Volley之所以高效好用,一个在于请求重试策略,一个就在于请求结果缓存。通过上一篇文章http://www.cnblogs.com/zharma/p/8338456.html可以看到网络请求的流程逻辑分支是如何执行的。接下来这篇文章就从具有请求缓存的流程去分析源码是采取的何种缓存策略。继续以最简单的例子为起点分析...

2017-05-16 17:46:00 83

转载 # Volley源码解析(二) 没有缓存的情况下直接走网络请求源码分析#

Volley源码解析(二) 没有缓存的情况下直接走网络请求源码分析Volley源码一共40多个类和接口。除去一些工具类的实现,核心代码只有20多个类。所以相对来说分析起来没有那么吃力。但是要想分析透源码还是需要先宏观后微观的分支线式地来跟踪源码的来龙去脉。这才能把源码分析清楚。分析透彻。并且在了解源码的基础上根据自己的需求进行相应的改造。Volley这个系列分析源码的人很多了。但是分...

2017-04-22 15:18:00 125

转载 Android笔记--Bitmap(三) 针对不用Android版本的位图管理

Bitmap(三) | Android不同版本的相应操作在不同的Android版本中。位图的存储方式是不同的。1.小于等于 Android 2.2 (API level 8)垃圾收集器回收内存时会使所有线程停止,这回严重影响性能。Android2.3之后,加入了并行的垃圾回收。这就让不再被引用的位图可以直接被回收。2.Android 2.3.3 (API level 10) an...

2017-03-11 19:48:00 91

转载 Java 语言中一个字符占几个字节?

Java中理论说是一个字符(汉字 字母)占用两个字节。但是在UTF-8的时候 new String("字").getBytes().length 返回的是3 表示3个字节作者:RednaxelaFX链接:https://www.zhihu.com/question/27562173/answer/37188642来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载...

2017-03-06 13:29:00 505

转载 编码格式

编码格式一、ASCII 码一个字符 占用 一个字节8位 255种状态 理论可容纳255个字符上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码ASCII 码一共规定了128个字符的编码ASCII码只占用了一个字节的后面7位,最前面的一位统一规定为0二、非 ASCII 编码英语用128个符号编码就够了,但是用...

2017-03-06 13:08:00 84

转载 Volley解析(一)--Volley的使用

Volley解析(一)--Volley的使用Volley 是一个HTTP协议的网络请求框架Volley的优势:自动安排网络请求支持多个并发网络连接具有标准HTTP缓存一致性的透明磁盘和内存响应缓存支持请求优先级支持取消请求api。可以取消单个请求,也可以设置要取消的请求的块或范围。定制方便,支持失败重试和回退强排序,可以轻松地从网络异步获取的数据中正确填充UI。具有...

2017-02-09 23:06:00 117

转载 Android笔记--Bitmap(二)内存管理

Bitmap(二) 内存管理1.使用内存缓存保证流畅性这种使用方式在ListView等这种滚动条的展示方式中使用最为广泛,使用内存缓存内存缓存位图可以提供最快的展示。但代价就是占用一定的内存空间。这个工作最适合LruCache.java去做。LruCache具有一块内存区域,他可以用来持有value值得强引用。每次一个value进来,就会放到队列的头,一旦队列满了。队尾的valu...

2017-01-24 18:59:00 91

转载 Android笔记--Bitmap

Android | Bitmap解析Android中Bitmap是对图像的一种抽象。通过他可以对相应的图像进行剪裁,旋转,压缩,缩放等操作。这里循序渐进的一步步了解Bitmap的相关内容。先了解Bitmap相关的API,然后根据API进一步了解内部的实现。1.生成Bitmap--BitmapFactoryandroid.graphics.Bitmap.java /** * ...

2016-12-02 17:09:00 84

转载 Java笔记--动态代理

Java动态代理1.概念代理:有时我们并不想直接访问对象A,或者不能直接访问对象A。而是通过访问一个中间对象B,让中间对象B去访问A。这种方式就称为代理。这里的对象A所属的类就为委托类,或者被代理类。对象B所属的类就是代理类。使用代理访问的优点:1.隐藏了被代理类的实现代码。2.解耦,不改变被代理类的代码的情况下做一些额外的处理。(强调的是不改变被代理类的代码)。比如调...

2016-07-22 12:40:00 63

转载 Android学习笔记--Intent

Intent是android四大组件之间交互的一种重要方式。Intent可以指明当前要执行的动作,也可以指明要传递的数据。Intent可以用来启动活动,启动服务,发送广播。Intent分为两种:1.显式Intent 2.隐式Intent显示Intent使用方法:例(启动活动)Intent有多个重载的构造方法。其中一个是Intent(Context packageContext, ...

2016-04-21 21:31:00 100

转载 Android源码分析笔记--Handler机制

#Handler机制#Handler机制实际就是实现一个 异步消息循环处理器Handler的真正意义: 异步处理Handler机制的整体表述:消息处理线程:在Handler机制中,异步消息处理线程启动后,该线程在Looper.loop()的影响下会进入无线循环。获取消息:在loop()方法的循环中,每循环一次,就从MessageQueue消息队列中取出一个消息。没有消息的...

2016-01-12 12:28:00 111

转载 HashMap,Hashset,ArrayList以及LinkedList集合的区别,以及各自的用法

基础内容容器就是一种装其他各种对象的器皿。java.util包容器:Set, List, Map ,数组。只有这四种容器。Collection(集合) 一个一个往里装,Map 一对一对往里装。Set:没有顺序,不可以重复。 List:有顺序,可以重复。 互相的equals就算重复。Map定义了存储Key-Value的方法。Collection里装的必须都是Object,不能是...

2015-06-18 16:49:00 687

转载 JPA的Column注解总结

@Column注解来标识实体类中属性与数据表中字段的对应关系。该注解的定义如下:@Target({METHOD, FIELD}) @Retention(RUNTIME) public @interface Column { String name() default ""; boolean unique() default false; boolean nullable() ...

2015-06-11 21:31:00 102

转载 一个Java编写的小玩意儿--脚本语言解释器(一)

今天开始想写一个脚本语言编译器。在这个领域,我还是知道的太少了,写的这个过程肯定是艰辛的,因为之前从来没有接触过这类的东西。写在自己的博客里,算是记录自己的学习历程吧。相信将来自己有幸再回过头来看到自己写的这个东西,一定会感觉当时的自己很有意思吧。哈哈。首先要做的事情是先明白一些基础性的知识。分清楚几个概念。搞明白自己要做的是什么。1、程序设计语言(Java,C,C++等)这些在设计...

2015-06-06 15:32:00 296

转载 一个Java编写的小玩意儿---多人在线聊天工具

这个在线聊天工具小项目使用JAVA编写,用JAVA来做图形界面本来就是出了名的低效和丑陋。不过这不是重点。写这个小项目的目的在于串一串J2SE的知识,把当时写这个项目的时候的思路梳理一下。时间有点久了,不过,拿出来再遛一遍算是个总结吧。1·搭建客户端在线聊天工具首先得有一个Client端,作为用户的交互界面。所以可以先搭建一个客户端的框架。把图形界面搭起来。先做一个客户端类Clie...

2015-06-05 23:08:00 188

转载 面向对象设计的三个基本要素与五个基本设计原则

一、面向对象设计的三个基本要素面向对象的三个基本特征是:封装、继承、多态。1·封装性封装性是一种信息隐蔽技术,他体现于类的说明,是对象重要的特性。封装使得数据和操作数据的方法封装为一个整体,想成独立性很强的模块,使得用户只能看到对象的外部特性(对象可以接受拿些信息,可以进行何种处理),而对象的内部特性(内部私有属性和实现处理能力的算法)用户是看不到的。简而言之就是说,封装使对象的设...

2015-06-05 11:21:00 190

转载 JAVA设计模式--Strategy

策略模式就是说当我进行比较大小的时候定义一个策略的比较器Comparator,然后由具体的比较策略来决定用什么量来比较大小。转载于:https://www.cnblogs.com/zharma/p/4542135.html...

2015-05-31 16:00:00 61

转载 JAVA解析XML的几种方法

DOMDOM Document Object Model 文档对象模型。在应用程序中,基于DOM的解析器将一个XML文档转换成一个对象模型的集合(DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。DOM解析XML文档时,把所有内容一次性的装载入内存,并构建一个驻留在内存中的树状结构(节点数)。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部...

2015-05-20 09:25:00 58

转载 URI URL URN

URI统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。与URL和URN的关系URI可被视为定位符(URL),名称(URN)或两者兼备。统一资源名(URN)如同一个人的名称,而统一资源定位符...

2015-05-04 09:56:00 92

转载 Android小玩意儿-- 从头开发一个正经的MusicPlayer(三)

MusicService已经能够接收广播,通过广播接收的内容来做出相应的MediaPlayer对象的处理,包括播放,暂停,停止等,并当MediaPlayer对象的生命周期发生变化的时候,同样通过发送广播,让UI层产生变换。现在后台处理已经写好。下面就来实现前台的Activity。1·构建UI布局框架1.先构建一个RelativeLayout布局,指定一个背景。2.我的构想是把整个平...

2015-03-15 10:09:00 202

转载 Android小玩意儿-- 从头开发一个正经的MusicPlayer(二)

1·在Service中实例化MusicPlayer,实现对整个播放过程的控制上一次做到了找到音乐数据,并封装成对象装在ArrayList里,把数据的信息显示在UI上。下面一个阶段就要开始真正的音乐播放器的制作了。做音乐播放器之前首先要想到的就是用什么来做这个部分。于是我查阅了Android Developers官网的一些有关内容,果不其然的确有方便的API供开发者使用。这就是Media...

2015-03-14 00:40:00 164

转载 Android小玩意儿-- 从头开发一个正经的MusicPlayer(一)

之前从未接触过音乐播放器这块东西的开发。今天偶然想做一个自己的音乐播放器。算是练练手。既然要做,就要做一个正儿八经的App。很多网上的资料也是模模糊糊,不是很全,现在开始,自己摸索着尝试着一步一步的做一个看看。中途一定会有很多的Bug让人头痛,但是,有了这些除Bug的经验,以后才能走的更顺,学的也才会更多。现在废话少说,先来干活儿。1·获取手机中的音乐资源首先不做别的,先看看怎么获取...

2015-03-12 01:00:00 128

转载 Android Learning Note -- AsyncTask浅尝

AsyncTask实现原理AsyncTask是Android提供的轻量级异步类,可以直接继承AsyncTask在类中实现异步操作,并提供接口反馈当前的异步执行程度(通过接口实现UI进度更新),最后反馈执行的结果给UI主线程。使用优点1.简单快捷的实现异步操作2.过程可控使用的缺点:1.在使用多个异步操作并需要进行UI变更时会变得复杂Handler实现原理在Handle...

2015-03-11 20:50:00 62

转载 进程与线程之间的区别

进程是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态的概念。每个进程都有自己的地址空间(进程空间)。进程空间的大小与处理机位数有关。进程至少有5种基本状态:初始态,执行态,等待状态,就绪状态,终止状态。在多用户环境下,一个服务器通常需要接受大量的不学定数量用户的并发请求,而为每一个请求都创建一个进程非常不明智,无论从系统资源开销方面还是响应用户请求的效率上来看。这也是多...

2015-02-28 16:20:00 108

转载 Java垃圾回收机制分析

Java的堆是一个运行时数据区,类的实例从中分配空间,堆中存储着正在运行的应用程序所建立的所有对象。垃圾回收是一种动态存储管理技术。它按照特定的垃圾回收算法,自动释放掉不再被引用的对象。堆内存里垃圾的回收靠的是垃圾收集器。JVM规范并不需要特殊的垃圾回收技术,但是由于内存有限,JVM在实现的时候,都有一个被垃圾收集器管理的堆。引用内存记录碎片在堆内存中,被引用的对象处于存活状态,一...

2015-02-23 00:18:00 45

转载 HTTP协议 处理流程

我们平时在浏览网页的时候都是使用浏览器,输入你要的网址后回车,就会显示出我们所想要的内容,看似这个简单的用户操作行为的背后,Web的工作原理是怎样的呢?到底隐藏了些什么呢?对于传统的上网流程,系统它是这么做的:浏览器本身它是一个客户端,当输入URL地址的时候,浏览器首先会去请求DNS服务器,通过DNS查询获取相应的域名所对应的IP地址,然后通过这个映射的IP地址找到IP对应的服务器,...

2015-01-12 11:44:00 288

空空如也

空空如也

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

TA关注的人

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