QAQ

带着华农精神去学习!

排序:
默认
按更新时间
按访问量

Android 显示原理简介

现在越来越多的应用开始重视流畅度方面的测试,了解Android应用程序是如何在屏幕上显示的则是基础中的基础,就让我们一起看看小小屏幕中大大的学问。这也是我下篇文章——《Android应用流畅度测试分析》的基础。       首先,用一句话来概括一下Android应用程序显示的过程:An...

2017-07-12 20:12:37

阅读数:264

评论数:0

关于WindowManager在Android N和Android N以下表现差异的分析总结

1. 问题描述通过WindowManager往窗口里添加浮动按钮,在Android7.0时该按钮可以全局保留,直至进程被杀掉。而Android7.0以下(以Android4.4为例)浮动按钮随Activity的onStop()方法被覆盖。 以下为浮动按钮的实现代码:WindowManager m...

2017-07-12 12:58:14

阅读数:613

评论数:0

深入分析HTTP与HTTPS

在详细探究HTTP与HTTPS之前,先理清一下HTTP的基本概念: HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。 HTTPS(全称:Hyper Tex...

2017-03-22 17:49:04

阅读数:450

评论数:0

关于OkHttp缓存post请求的问题

现有这样一个要求,使用Retorfit+okhttp需要在有网的时候能够连接服务器,读取相关信息;在没网络断开的时候需要读取Okhttp的缓存来达到离线的效果。 基于上述的需求,可以使用Okhttp的拦截器来实现://设置缓存目录 File cacheFile = new File(BaseAp...

2017-03-01 18:36:56

阅读数:5421

评论数:4

Volley源码解析

Volley是Google开发的一个网络请求框架,该框架适合进行小而频繁的网络请求。 Volley的使用比较简单,只需几个简单的操作就可以实现发送请求。以StringRequest 为例://创建一个请求队列 RequestQueue requestQueue = Volley.newReque...

2017-02-07 16:33:55

阅读数:199

评论数:0

模板方法模式

有些时间没有更新技术博客了,上段时间都在忙考试。 这次继续学习新的设计模式————模板方法模式。依旧先从一个UML图开始: 其中: AbsTmplate:定义了逻辑的框架 ConcreteImplA:具体实现A ConcreteImplB:具体实现B 举个例子,现有几部电脑...

2017-01-22 11:59:49

阅读数:175

评论数:0

从源代码分析Android-Universal-Image-Loader的缓存处理机制

从源代码分析Android-Universal-Image-Loader的缓存处理机制 本博客转自http://www.cnblogs.com/kissazi2/p/3931400.html 讲到缓存,平时流水线上的码农一定觉得这是一个高大上的东西。看过网上各种讲缓存原理的文章...

2016-12-27 19:30:15

阅读数:221

评论数:0

RxJava&Retrofit错误预处理

RxJava和retrofit配合使用进行网络请求在实际开发中还是很强大的。在实际开发中,再对网络请求返回的结果往往要先进行预处理。即先过滤了错误的信息,在执行onNext()方法时只需要考虑正确的结果下如何处理就行。 以一个正常的Json返回为例:{ "status"...

2016-12-22 15:11:48

阅读数:1189

评论数:0

简单明了,彻底地理解Binder

你是不是看过很多Binder文章但是还是对Binder没有一个深刻理解?不是那些文章讲得不够好,主要是存在两种情况,一种是讲的深,全C代码~,对我这种专做Java的人来说没有心情往下看;另一种是只讲framework层,Binder驱动并没有具体提,导致我们会用Binder,也大致能说的出一些原理...

2016-11-27 12:45:15

阅读数:304

评论数:0

关闭线程的正确方式?

最近无意间看到一些面试题,提到如何关闭一个线程。然后就在想,关闭线程不就是调用Thread.stop()的方法就好了吗?现在看来还真是有些问题了。翻了下Effective java那本书,了解到原来stop方法在很久之前就不提倡使用,因为这个方法是不安全的。 那么,要怎么去关闭一个正在执行的线程...

2016-11-25 13:14:59

阅读数:5730

评论数:1

自定义ViewGroup

上一篇了解了如何去实现自定义View,这篇就了解下如何自定义一个ViewGroup。其实,自定义View和ViewGroup都需要从View的绘制机制来入手,可见了解绘图机制对于自定义View和ViewGroup的作用还是很大的。自定义ViewGroup主要在onMeasure和onLayout两...

2016-11-20 21:05:25

阅读数:287

评论数:0

自定义View

花了几个小时的时间总算把自定义View给理清楚了,以前总是没时间去看,网上总是一大把写好的控件。 在学习自定义View之前还需要回顾一下关于View的绘图流程相关知识。View的绘图流程有三个onDraw,onLayout还有onDraw。可以这样简单地描述这三个过程: onMeasure:...

2016-11-20 20:47:37

阅读数:274

评论数:0

使用RxJava+Retrofit+MVP+Glide开发一个简单的新闻客户端

好久没有更新博客了,有点懒。。之前在网上看到很多有趣又高效的开源库,于是就想着写一个简单的项目来运用这些开源库,恰巧看见聚合数据上有个新闻头条的API,所以就尝试写了一下。先上效果图:在这个小项目中,使用RxJava和Retrofit网络请求框架来实现异步数据的获取是比较重要的环节。 关于RxJ...

2016-11-18 12:37:39

阅读数:2153

评论数:0

深入线程池

之前在读Java进阶书籍的时候,接触到了关于线程池的使用,但是一直没有进行系统的理解。这篇博客主要是对线程池功能的梳理。 使用线程池来执行任务相对于线程来讲有许多优点: 1.能够重用线程池里的线程,减少创建线程的开销。 2.可以控制线程池中的最大并发数。 3.可以对线程进行简单的管理。线程...

2016-10-26 15:42:20

阅读数:252

评论数:0

观察者模式

最近在学习使用RxJava的时候,了解到其功能的强大,可以简化很多的代码,让逻辑更清晰。其中,RxJava内部实现则用了观察者模式来实现。因此,在深入学习RxJava前就先把观察者模式理清楚先。 观察者模式中首先有两个角色,一个是被观察者(Subject),另一个是观察者(Observer)。顾...

2016-10-15 15:01:46

阅读数:204

评论数:0

使用AIDL跨进程通信

之前对IPC的研究有接触到AIDL,AIDL的作用实际上就是跨进程通信,因为进程间是各自维护着自己的一个内存,当前进程想要访问到其他进程的内存,就可以通过AIDL来实现。 假定现在进程1(服务端)中有一个学生信息的集合,现在要在进程2(客户端)通过学生ID获取到进程1中集合中某个学生的信息。下图...

2016-10-14 19:26:30

阅读数:321

评论数:0

HashMap原理分析

HashMap在开发中算是一个很常见的数据结构,从字面上的Hash这个单词都可以大概推测出其内部使用的数据结构会有哈希表。之前也对其内部实现思想有一定了解,除了哈希表外,也用到了链表来实现保存相同hash值的键所对应的键值对。 简单地回顾下哈希表: 哈希表的实现无非是个数组,每个值都会通过...

2016-10-12 22:30:42

阅读数:591

评论数:0

Java垃圾回收算法

垃圾回收目的在于回收那些无用对象占用的内存,以释放出空间,减缓程序设计的压力。既然Java实现了垃圾的自动回收,那么就有必要了解一下它是如何实现垃圾回收的。如何判断对象“已死”?在垃圾收集器对堆进行回收前,首先需要做的事情就是判断哪些对象已经不会再被使用。主要有两种方式实现判定:引用计数算法给每个...

2016-10-02 16:07:21

阅读数:338

评论数:0

Java内存模型

由于CPU与存储器的运行速度差异的存在,需要引用高速缓存来解决。而引入高速缓存之后,又会带来缓存一致性的问题,即多个处理器有着自己的高速缓存,但却共用一个主存。Java内存模型在Java虚拟机中是怎么解决上述问题的?先用一个图来引用Java的内存模型: 首先,对几个名词进行梳理: 主内存:...

2016-10-02 11:49:12

阅读数:234

评论数:0

浅析ClassLoader

类加载过程中加载阶段是最可控的一个阶段,可以由系统的类加载器来加载,也可以用户自定义加载,目的都是为了将二进制字节流读入内存中。在加载类时,是通过ClassLoader的loadClass()方法来实现的。ClassLoader的简单使用那系统提供的类加载器与用户自定义的类加载器加载的类有什么区别...

2016-10-01 00:41:02

阅读数:234

评论数:0

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