自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Picasso从使用到源码解析

Picasso从使用到源码解析一、使用Picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载:Picasso.with(context).load(url).into(imageView);Picasso不仅实现了图片异步加载的功能,还解决了An

2017-04-16 22:14:27 393

原创 OkHttp源码解析

OkHttp源码解析一、OkHttp使用//创建ClientOkHttpClient client = new OkHttpClient();Request.Builder requestBuilder = new Request.Builder().url("http://www.baidu.com").method("GET",null);Request request = request

2017-03-12 11:08:47 379

原创 Retrofit使用与解析

Retrofit使用与解析Retrofit是一个基于OkHttp的网络请求工具,其功能与Volley很相似,但是使用起来就很不一样。 Retrofit不用你去创建Request对象,每次指定Get还是Post等,它请求一个api只需你去调用一个Java方法。使用1.首先需要创建一个Retrofit对象,并指定域名://使用Builder模式构建对象private static final Str

2017-03-12 11:07:30 480

原创 Android中的线程池

Android中的线程池一、前言使用线程池能给我们带来很多好处,线程池的优点可以概括为以下三点: 1. 重用线程池中的线程,减少创建和销毁线程的性能开销。 2. 有效控制线程池的最大并发数,避免因为大量的线程之间因为抢夺系统资源造成阻塞。 3. 能对线程进行简单的管理,并提供定时执行以及指定时间间隔循环执行等。二、ThreadPoolExecutorAndroid中的线程池实现为ThreadP

2017-02-23 20:26:52 310

原创 Android中的Window与WindowManager

Android中的Window与WindowManager一、WindowAndroid中的所有视图,不管是Activity、Dialog还是Toast都是通过Window来呈现的,它们的视图都是附加在Window上面的,Window实际是View的直接管理者。 Window是一个抽象类,它的具体实现是PhoneWindow,WindowManager是外界访问Window的入口,Window的具

2017-02-18 21:31:53 637

原创 Android桌面小部件与RemoteViews

Android桌面小部件与RemoteViews标签(空格分隔): Android一、简介  App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget Provider来发布一个Widget。   小部件通过AppWidgetProvide来实现,AppWidgetProvide本质

2016-11-19 00:11:12 829

原创 Java垃圾收集器及内存分配

Java垃圾收集器及内存分配一、垃圾收集算法1. 标记-清除算法分为标记、清除两个阶段:首先标记出要回收的对象,在标记完成后统一回收掉被标记的对象,标记过程就是上文讲的二次标记。缺点:标记和清理的效率都不高;标记清理后会产生大量不连续的内存碎片,将导致程序运行过程中要分配大对象是没有足够的连续空间而不得不提前触发垃圾收集。2. 复制算法它将可用内存分为2块大小相等的区域,每次只使用其中一块,当这一块

2016-11-03 19:45:06 402

原创 Java垃圾收集——对象已死?

Java垃圾收集——对象已死?Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性。垃圾回收重点关注的是堆和方法区部分的内存。一、引用计数算法 給对象添加一个引用计数器,但有一个地方引用它时

2016-11-03 19:43:56 292

原创 Java 注解-Annotation

Java 注解-Annotation## 学习笔记一、使用 二、概念以及作用1. 概念:能够添加到Java源代码的语法元数据。类,方法,变量,参数,包都可以被注解,可以用来将信息元数据与程序元素进行关联。2. 作用: * 标记,告诉编译器一些信息。 * 编译时动态处理,如动态生成代码 * 运行时动态处理,如得到注解信息

2016-10-29 20:49:31 299

原创 Volley源码解析

Volley源码解析

2016-10-29 17:35:50 185

原创 String源码解析

String源码解析

2016-10-22 16:19:11 240

原创 Android的消息机制

Android的消息机制标签(空格分隔): Android概论Android的消息机制由Handler,MessageQueue与Looper支撑,Handler是消息机制的上层接口,在开发过程中主要与Handler打交道。 MessageQueue为消息队列,它在内部存储了一组消息,以队列的形式对外提供插入与删除的工作(内部存储采用单链表的数据结构)。 Looper的中文翻译为循环,它以无限循

2016-10-22 16:17:01 226

原创 事件分发拦截机制

事件分发拦截机制MotionEvent-点击事件当Android系统捕获到用户的各种输入事件后,要想准确的传递到真正需要这个事件的控件就需要使用到Android中的事件拦截机制。这里主要讲的是点击事件的拦截机制,首先,点击事件就是手指接触屏幕后产生的事件,Android的触摸事件封装了一个类:MotionEvent,只要重写触摸相关的方法,就得用到MotionEvent。MotionEvent中封装

2016-08-04 18:01:27 899

原创 Activity的生命周期和启动模式

Chapter1 Activity的生命周期和启动模式一 、Activity的生命周期1.典型情况下: onCreate() Activity正在被创建,可以做些初始化工作。onRestart() Activity正在重新启动,一般,当当前Activity从不可见重新可见时调用。onStart() Activity正在启动,Activity可见当时还没出现在前台,还无法与用户交互。onResu

2016-08-03 10:03:29 363

原创 Android ImageView自适应属性

Android ImageView图片自适应项目中使用Picasso加载图片,结果发现后台给的图片太小,无法填充ImageView,在Picasso加载图片中加上fit()后图片直接不显示了,便想到前面图片太大的解决办法–给ImageView设置自适应,直接加上:android:adjustViewBounds="true"就行了。ImageView属性说明android:adjustViewBou

2016-07-26 17:46:57 20893

原创 RxJava

RxJava学习笔记RxJava–简洁的异步观察者模式RxJava使用的是观察者模式,即采用注册或订阅方式,在被观察者发生变化时通知观察者,我们经常看到的是点击监听–View设置OnClickListener,在这里View是被观察者,OnClickListener是观察者,当View被点击时,Android FrameWork会将点击事件发送给已经注册的OnClickLinstener,观察者模式

2016-07-24 10:56:01 381

原创 使用LeakCanary检测内存泄漏

一、介绍在Android开发中经常会遇到内存泄漏的问题,作为一个Android新手很难找到什么地方内存泄漏了,直到今天我发现了这个工具LeakCanary,帮助你在开发阶段方便的检测出内存泄露的问题,它能直接弹出内存泄漏的信息,而且使用也十分简单。LeakCanary是良心企业Square开源的一个非常有用的工具, 强烈推荐,  我第一时间使用也帮助我发现了不少问题。这是它的github地

2016-05-11 19:30:54 492

原创 Handler-Looper-Message源码分析

Handler-Looper-Message是Android中重要的异步消息处理机制,也是Android开发中不得不谈的东西这也是Activity等组件中工作机制实现的重要部分,作为Android源码阅读在合适不过了。1、概论Message用于存储数据,Looper与当前线程绑定,创建一个MessageQueue,无限循环从中读取Message,当MessageQueue为空时阻塞

2016-04-29 15:48:59 427

原创 Android坐标系与视图坐标系

在Android系统存在很多坐标体系和获取坐标和相对距离的方法,这让初学者为止困惑所以我总结了下坐标系和一些方法。一:Android坐标以屏幕左上角为原点,系统提供了getLoctionOnScreen(intlocation[])方法获取Android坐标系中点的位置(视图左上角在AND通过getRawX()和getRawY()方法获取坐标二:视图坐标用于描述子视图在父视

2015-12-05 19:03:36 627

空空如也

空空如也

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

TA关注的人

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