自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 Java内存管理简介

本文是一篇翻译文章,这篇文章用比较通俗的语言简单介绍了 Java 的内存模型和 Java 垃圾回收器的工作流程,是一篇比较好的入门读物。 原文链接:https://dzone.com/articles/java-memory-management你可能想,如果你是个 Java 程序员,你需要了解内存是怎么工作的吗?Java 有内存自动管理工具,一个优雅且几乎无感知的垃圾回收...

2018-07-08 18:01:29 2367

原创 ADB 常用命令

安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。如果记不住命令怎么办?推荐一个可以快速查看 ADB 命令的插件 adb-idea链接 ADB有两种方式来启动 ADB

2017-05-22 22:32:39 5961

原创 从 View 绘制谈性能优化

转载请注明出处:http://blog.csdn.net/wl9739/article/details/57416433在开发过程中,往往会听到 “性能优化” 这个概念,这个概念很大,比如网络性能优化、耗电量优化等等,对我们开发者而言,最容易做的,或者是影响最大的,应该是 View 的性能优化。一般小项目或许用不上 View 性能优化,然而,当业务愈加庞大、界面愈加复杂的时候,没有一个良好的开发习惯

2017-02-26 16:02:49 2646

翻译 Gson 中文指南

网上很多 Gson 的文章介绍的比较琐碎,于是干脆把 GitHub 上的使用介绍给翻译了出来。 原文地址:https://github.com/google/gson/blob/master/UserGuide.mdGson 库中最重要的类是 Gson,你可以通过调用 new Gson() 来创建一个 Gson 对象。同时也提供一个 GsonBuilder 类来创建一个 Gson 对象,

2017-01-13 18:52:49 5229

原创 RadioButton在Android4.4调用setButtonDrawable(null)无效的问题

今天遇到一个问题,在 Android 4.4 系统下,Java 代码布局中调用 RadioButton.setButtonDrawable(null) 无效,而在 xml 布局中设置元素属性 android:button="@null" 有效,并且在 Android 5.0+ 系统上调用 Java 代码布局也有效。初步分析,应该是系统差异导致的,因此直接比较 Android 4.4 和 Androi

2016-12-19 17:13:50 4162 1

原创 Handler与异步消息的源码解析

在上一篇 Handler 与异步消息处理 中,简单介绍了 Handler 的使用场景和常用方法,并且强调了 Handler 必须和 Looper 相关联才能使用 这一观点。由于 Looper 的构造方法是私有的,创建一个 Looper 的方法是调用 Looper.prepare(),如果当前线程中已经有了一个 Looper,那么调用这个方法就会抛出异常,说 “Only one Looper may

2016-11-20 14:02:39 902 1

原创 Handler与异步消息处理

Handler 在 Android 中的应用很广泛,基本上每个 Android 开发人员都会使用到它。本篇文章将会介绍 Handler 和异步消息机制相关的使用方法,下一篇会从源码的角度分析 Android 中异步消息处理的流程。Android 中的异步消息处理框架由 Handler 、MessageQueue、Looper 和 ThreadLocal 等组成。Handler 是我们使用最多的一个类

2016-10-31 23:04:43 2986 1

原创 BottomNavigationView 的使用

转载请注明出处:http://blog.csdn.net/wl9739/article/details/52875710BottomNavigationView 很早之前就在 Material Design 中出现了,但是直到 Android Support Library 25 中才增加了 BottomNavigationView 控件。该控件使用方法如下:在 build.gradle 文件中增

2016-10-20 18:30:49 33607 9

原创 Android 中的转场动画及兼容处理

转载请注明出处:http://blog.csdn.net/wl9739/article/details/52833668Android 中的动画有很多,除了帧动画、属性动画以外,还有一类动画,是用于界面之间过渡、跳转的。在 Android 5.0 之前,我们已经有了 overridePendingTransition() 方法来实现一些转场效果。然而,在 Android 5.0 以后,转场效果更加炫

2016-10-16 22:31:38 17249 18

翻译 在 Android Studio 2.2 中愉快地使用 C/C++

转载请注明出处:http://blog.csdn.net/wl9739/article/details/52607010 注:官网上面的技术文章也在不断地汉化中,只是进度有点慢。在我翻译本篇文章的时候,官网没有对应的中文教程。经人提醒,该文章现在在官网已经有对应的中文版教程了,链接地址:向您的项目添加 C 和 C++ 代码。有需要的朋友可以直接阅读官方中文解说。———————–原文分割线———

2016-09-21 13:47:46 50470 10

原创 Android中的指纹识别

最近项目需要使用到指纹识别的功能,查阅了相关资料后,整理成此文。指纹识别是在Android 6.0之后新增的功能,因此在使用的时候需要先判断用户手机的系统版本是否支持指纹识别。另外,实际开发场景中,使用指纹的主要场景有两种:纯本地使用。即用户在本地完成指纹识别后,不需要将指纹的相关信息给后台。与后台交互。用户在本地完成指纹识别后,需要将指纹相关的信息传给后台。由于使用指纹识别功能需要一个加密对

2016-09-05 23:01:55 32294 30

原创 细聊代理模式

转载请注明出处:http://blog.csdn.net/wl9739/article/details/52022667如果要说设计模式中哪一种在日常应用最广泛,代理模式应该是当仁不让的。比如,你一觉睡到中午不想去食堂打饭,于是你委托阿黄让他帮你把饭带回来,这就产生了一种代理关系,其中委托人是你,代理人是阿黄,而事件就是打饭,你为了足不出户就能吃到午饭而想到的这馊主意,就是一种代理方法。又比如,你女

2016-07-25 12:44:40 1737

原创 教你一分钟实现动态模糊效果

转载请注明出处:http://blog.csdn.net/wl9739/article/details/51955598 本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布现在,越来越多的App里面使用了模糊效果,我尤其喜欢雅虎天气的界面,上滑的时候背景图片会跟着移动,最重要的是背景图片会根据手指上下移动的距离来进行不同程度的模糊,感觉甚为惊奇,毕竟大家都知道,在Android

2016-07-19 14:33:50 22496 14

原创 Java中的时间和日期(下)

转载请注明出处:Java中的时间和日期(下)在上篇文章Java中的时间和日期(上)里面,简单介绍了Java中的Date类,Calendar类以及用于格式化的SimpleDateFormater类。使用这些的时候我们会明显地感受到其中的不便之处,比如,Calendar类的月份是从0开始计数的;日期格式输出不够友好,很多情况下都需要使用SimpleDateFormater类来格式化;一些简单得日期计算也

2016-07-11 18:02:16 21094 1

原创 Java中的时间和日期(上)

转载请注明出处:http://blog.csdn.net/wl9739/article/details/51839502自从JDK 1.0开始,Java就提供了Date来处理时间和日期,作为老古董自然有很多东西是过时的。然后出现了Calendar来解决了很多问题,但是Calendar使用比较复杂,并且有些反人类的地方。直到Java 8的出现,它吸收了Joda-Time库的经验,使得Java处理时间和

2016-07-06 15:39:21 8251 2

原创 Android源码的下载、编译与导入到Android Studio

转载请注明出处:http://blog.csdn.net/wl9739/article/details/51429242如果只是为了看Android源码的话,有一个很方便的方法,用Android studio打开一个项目,双击shift,然后输入你想查看的类名,比如ListView,再敲一下回车,就OK了。那么,为什么要大费周章地下载源码然后编译导入呢?因为生命不息,折腾不止哈哈,开个玩笑。首先要注

2016-05-16 22:36:12 5143 2

原创 Android事件分发——View篇

接上文,我们谈到事件传递到ViewGroup后,如果有子 View,并且子View可以接受事件,那么就回调用子View(可能是一个View,也可能是一个ViewGroup)的dispatchTouchEvent()方法。而如果没有子 View,或者子View不能接受事件,那么就会调用ViewGroup的父类,也就是View的dispatchTouchEvent()方法中。那么我们看一看View里面的

2016-04-30 21:33:03 851

原创 Android事件分发——ViewGroup篇

dipatchTouchEvent上一篇说到,Activity将事件传递到ViewGroup的dispatchTouchEvent()方法中,那么,我们来看一下该方法的源码public boolean dispatchTouchEvent(MotionEvent ev) { if (mInputEventConsistencyVerifier != null) {

2016-04-23 18:37:56 984

原创 Android事件分发 ——Activity篇

在开发过程中,对于点击事件的处理是很频繁的。对于一个控件(View)来说,onClickListenr()和onTouchListener()有什么区别和联系?我们自定义了一个控件,点击自定义控件时如何不触发被它覆盖的View的点击事件?这些都和事件分发机制有关。下面就来分析一下,当一个点击事件发生时,这个事件到底是怎么溜达的?现在让我们创建一个简单的Activity,创建一个TestLinearL

2016-04-18 11:32:48 1870

原创 关于intent.setFlags()的一些故事

今天项目中遇到了几个坑,感觉蛮有意思的,纪录一下。坑一:奇葩需求首先需要解决的一个问题如下: Activity A 以startActivityForResult()方法启动了Activity B,然后Activity B可以启动Activity C,Activity C可以启动Activity D。需要在B、C和D都可以通过setResult()方法将数据返回给A。这种需求估计不常见,解决这

2016-04-07 21:34:22 1035

原创 设计模式之Builder模式

设计模式之Builder模式 新年第一发!要过年了,开始忙了起来,对于首发笔记,一来时间有限,二来很纠结该写什么,最终还是把这篇“蓄谋已久”的笔记拿了出来。当我第一次使用Picasso的时候,看见下面的官网示例时,我和我的小伙伴都惊呆了!Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);如此

2016-01-13 22:37:42 843 1

原创 配置SSH的正确方式

配置SSH的正确方式SSH简介 Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。以上内容来自维基百科,算是对SSH的一个简单的介绍。配置SSH Key当你准备使用很极客的方式——命令行,来将代码或文件提交到Github

2015-12-09 11:05:35 1977

《Jsp&Servlet学习笔记 第二版》源码

《Jsp&Servlet学习笔记 第二版》源码,包含书内的代码实例

2014-12-25

Android4高级编程(第三版)源码

Android4高级编程(第三版)源码,包含书中的示例代码片段和完整的项目源码

2014-07-25

空空如也

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

TA关注的人

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