自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr_LiaBill

兴趣永远是最好的导师.......

  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java 内部类详解

内部类静态内部类除了静态内部类之外,其它的都默认持有外部类的引用,构造函数中传进去,所以都可以通过Outer.this(默认的不需要显示)访问外部类的属性和方法,包括private的,另一方面这有可能造成内存泄漏,比如Android中handler的定义非静态内部类public class Outter { private int age = 10; class Inner {

2015-12-29 21:15:54 652

转载 Java 反射Reflection使用

转载:公共技术点之 Java 反射 Reflection1. 了解 Java 中的反射1.1 什么是 Java 的反射Java 反射是可以让我们在运行时获取类的函数、属性、父类、接口等 Class 内部信息的机制。通过反射还可以让我们在运行期实例化对象,调用方法,通过调用 get/set 方法获取变量的值,即使方法或属性是私有的的也可以通过反射的形式调用,这种“看透 class”的能力被称为内省,这

2015-12-29 10:57:27 784

原创 Android 开源项目EventBus详解

使用//MainActivitypublic class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConte

2015-12-27 18:28:22 837

原创 Universal-Image-Loader系列2-源码分析

1. 怎么实现大图片的下载,防止OOM前面分析volley,我们知道volley并不适合大文件的下载,因为volley把输入流都写入了byte[]内存,然后写入硬盘缓存,所以容易OOM。 看UIL怎么实现大图片的下载的 private Bitmap tryLoadBitmap() throws TaskCancelledException { Bitmap bitmap =

2015-12-22 20:46:50 842

原创 Universal-Image-Loader系列1-配置使用

Android-Universal-Image-Loader官方使用介绍,参考 wiki默认值ImageLoaderConfiguration全局显示选项/* ImageLoader Configuration (ImageLoaderConfiguration) is global for application. You should set it once.All options in C

2015-12-22 20:45:59 914

原创 Android 内存溢出 内存泄漏(二)

首先参考 Android 内存溢出 内存泄漏(一)1. hashset的OOM2. Cursor对象 流对象Stream未正确关闭 解决方案:finally中关闭 Cursor cursor = null; try { cursor = getContentResolver().query(...); if (cursor != null && cur

2015-12-13 14:58:43 1551 1

原创 Android UncaughtExceptionHandler捕获Crash

Android系统的“程序异常退出”,给应用的用户体验造成不良影响。为了捕获应用运行时异常并给出友好提示,便可继承UncaughtExceptionHandler类来处理。通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可。重写uncaughtException方法,注意只有程序未捕获的异常才会调用这里,如果程序捕获了,就不会了

2015-12-13 14:10:07 1063

原创 Volley框架之四 加载网络图片

使用Volley去加载图片的方式前面已经介绍了,有三种方式,下面主要介绍ImageRequest方式和ImageLoader方式的区别和联系ImageRequest看一下源代码,主要就是parseNetworkResponse方法的实现,解析网络返回的response /** Decoding lock so that we don't decode more than one image a

2015-12-09 21:10:19 747

原创 Volley框架之三 疑难实现

有了前面两章做基础,这篇文章主要分析一下,从Volley中我学到的知识点问题1: Requset是在哪里处理的?主线程还是子线程? 子线程处理Request,只要new了一个RequestQueue那么就会开启1个缓存线程,4个网络请求线程,CacheDispatcher/NetworkDispatcher继承自Thread。 这就意味着一次最多只能并发5个线程,如果缓存线程没有命中,那么最多并

2015-12-09 21:09:36 2677

原创 Volley框架之二 基本流程

架构先来张整体的架构图 其中蓝色部分代表主线程,绿色部分代表缓存线程,橙色部分代表网络线程。我们在主线程中调用RequestQueue的add()方法来添加一条网络请求,这条请求会先被加入到缓存队列当中,如果发现可以找到相应的缓存结果就直接读取缓存并解析,然后回调给主线程。如果在缓存中没有找到结果,则将这条请求加入到网络请求队列中,然后处理发送HTTP请求,解析响应结果,写入缓存,并回调主线程

2015-12-09 21:08:30 578

原创 Android HttpClient HttpUrlConnection用法总结

HttpClient这个不用说了,Apache的API,但是不推荐使用了,在最新的api中甚至都把HttpClient去掉了。但是还是有必要掌握下HttpClient的用法的GET方式//先将参数放入List,再对参数进行URL编码List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();params.add(n

2015-12-08 21:37:19 2240

原创 Volley框架之一 如何使用

一直想找个优秀的开源框架学习下,Volley非常合适,研究下来学到了不少知识Volley简介Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行

2015-12-08 21:06:27 845

原创 Android 捕获OOM方法

本文不是讲什么时候会发生OOM,而是讲OOM发生了如何去捕获他,处理它最近在分析Volley通信框架,看到ImageRequest的一段代码,非常值得借鉴 /** Decoding lock so that we don't decode more than one image at a time (to avoid OOM's) */ private static final Obj

2015-12-07 19:02:25 6570

原创 Android Log高级用法

Log Level我们知道不管在AS还是Eclipse中查看log,选择不同的Log Level查看到不同的log 只有当前的level比Log Level要大,才会显示log,做了过滤 /** * Priority constant for the println method; use Log.v. */ public static final int VER

2015-12-02 11:33:50 2093

原创 Java 中断线程方法

线程终止方法Stop这个方法就不介绍了,不推荐使用,已经被废弃了。会强制停止线程,进程和虚拟机会发生不可预料的状态。不优雅 /** * Requests the receiver Thread to stop and throw ThreadDeath. The Thread is * resumed if it was suspended and awakened if i

2015-12-01 17:48:58 767

空空如也

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

TA关注的人

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