自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (8)
  • 收藏
  • 关注

转载 深入理解Callable

概述Callable和Runnbale一样代表着任务,区别在于Callable有返回值并且可以抛出异常。其使用如下:public class CallableDemo {    static class SumTask implements Callable<Long> {        @Override        public Long call() throw...

2018-10-30 20:38:55 561

转载 深入剖析java并发之阻塞队列LinkedBlockingQueue与ArrayBlockingQueue

关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解Java类加载器(ClassLoader)深入理解Java并发之synchronized实现原理Java并发编程-无锁CAS与Unsafe类及其并发包Atomic深入理解Java内存模型(JMM)及volatile关...

2018-10-30 20:36:41 75

原创 Java ExecutorService四种线程池的例子与说明

1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub }}).start();那你就out太多了,new Thread的...

2018-10-30 20:32:20 104

转载 Android最佳性能实践(三)——高性能编码优化

在前两篇文章当中,我们主要学习了Android内存方面的相关知识,包括如何合理地使用内存,以及当发生内存泄露时如何定位出问题的原因。那么关于内存的知识就讨论到这里,今天开始我们将学习一些性能编码优化的技巧。这里先事先提醒大家一句,本篇文章中讨论的编码优化技巧都是属于一些“微优化”,也就是说即使我们都按照本篇文章的技巧来优化代码,在性能方面也是看不出有什么显著的提升的。使用合适的算法与数据结构将...

2018-10-30 19:56:02 154

转载 Android自定义View的实现方法,带你一步步深入了解View(四)

不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析、视图的绘制流程、视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了。如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东西。之前我有承诺过,会在View这个话题上多写几篇博客,讲一讲View的工作原理,以及自定义View的方法。...

2018-10-29 19:12:07 80

转载 Android视图状态及重绘流程分析,带你一步步深入了解View(三)

在前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure、onLayout、onDraw这三个最重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识。如果你还没有看过我前面一篇文章,可以先去阅读 Android视图绘制流程完全解析,带你一步步深入了解View(二) 。相信大家在平时使用View的时候都...

2018-10-29 19:04:35 122

转载 Android视图绘制流程完全解析,带你一步步深入了解View(二)

在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的。如果你还没有看过我的上一篇文章,可以先去阅读 Android LayoutInflater原理分析,带你一步步深入了解View(一)  。相信每个Android程序员都知道,我们每天的开发工...

2018-10-29 18:52:34 93

转载 Android LayoutInflater原理分析,带你一步步深入了解View(一)

相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是in...

2018-10-29 18:38:04 105

转载 Android ListView异步加载图片乱序问题,原因分析及解决方案

在Android所有系统自带的控件当中,ListView这个控件算是用法比较复杂的了,关键是用法复杂也就算了,它还经常会出现一些稀奇古怪的问题,让人非常头疼。比如说在ListView中加载图片,如果是同步加载图片倒还好,但是一旦使用异步加载图片那么问题就来了,这个问题我相信很多Android开发者都曾经遇到过,就是异步加载图片会出现错位乱序的情况。遇到这个问题时,不少人在网上搜索找到了相应的解决方...

2018-10-29 18:29:49 131

转载 Android ListView工作原理完全解析,带你从源码的角度彻底理解

在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,Li...

2018-10-29 18:04:51 117

转载 Android冷启动白屏解析,带你一步步分析和解决问题

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/51019856本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。写在前面记得在本月初,我发表了一篇文章叫《 Android Studio新功能解析,你真的了解Instant Run吗?》,里面详细讲解了Android Stu...

2018-10-29 16:04:39 108

转载 Android弹幕功能实现,模仿斗鱼直播的弹幕效果

记得之前有位朋友在我的公众号里问过我,像直播的那种弹幕功能该如何实现?如今直播行业确实是非常火爆啊,大大小小的公司都要涉足一下直播的领域,用斗鱼的话来讲,现在就是千播之战。而弹幕则无疑是直播功能当中最为重要的一个功能之一,那么今天,我就带着大家一起来实现一个简单的Android端弹幕效果。分析首先我们来看一下斗鱼上的弹幕效果,如下图所示:这是一个Dota2游戏直播的界面,我们可以看到,...

2018-10-29 15:56:59 186

转载 Android指纹识别API讲解,一种更快更好的用户体验

我发现了一个比较怪的现象。在iPhone上使用十分普遍的指纹认证功能,在Android手机上却鲜有APP使用,我简单观察了一下,发现Android手机上基本上只有支付宝、微信和极少APP支持指纹认证功能,就连银行和金融类的应用都基本不支持,甚至很多开发者都不知道Android系统是有指纹认证的官方API的。事实上,Android从6.0系统开始就支持指纹认证功能了,但是指纹功能还需要有硬件支...

2018-10-29 15:43:32 165

转载 Android Context完全解析,你所不知道的Context的各种细节

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47028975前几篇文章,我也是费劲心思写了一个ListView系列的三部曲,虽然在内容上可以说是绝对的精华,但是很多朋友都表示看不懂。好吧,这个系列不仅是把大家给难倒了,也确实是把我给难倒了,之前为了写瀑布流ListView的Demo就写了大半个月的时间。那么本篇文章我们就讲点...

2018-10-29 14:48:03 85

转载 Android Fragment使用(一) 基础篇 温故知新

Fragment使用的基本知识点总结, 包括Fragment的添加, 参数传递和通信, 生命周期和各种操作.Fragment使用基础Fragment添加方法一: 布局里的标签标识符: tag, id, 如果都没有, container的id将会被使用.方法二: 动态添加动态添加利用了一个transaction: FragmentManager fragmen...

2018-10-26 16:54:47 138

转载 源码分析commitAllowingStateLoss() 和commit()的区别

之前在使用Fragment的时候偶尔会有这么一个报错,Can not perform this action after onSaveInstanceState,意思为无法再onSaveInstanceState之后执行该操作,这个操作就是指commit(),之前也没怎么在意,后来通过查看源码去了解了一下这个问题,以下是对这个问题的解析及对应解决办法的对比。        Fragment是我...

2018-10-26 16:37:48 238

原创 Android 常用的Context详解

1.Context概述Context是一个抽象类,其通用实现在ContextImpl类中。它的主要作用是一个访问application环境全局信息的接口,通过它可以访问application的资源和相关的类,其主要功能如下: 启动Activity 启动和停止Service 发送广播 消息 注册广播消息接受者 访问APK中各种资源 访问Package的相关信息 APK的各...

2018-10-23 20:35:15 295

转载 Android中Context详解 ---- 你所不知道的Context

  大家好,  今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中   时刻的在与它打交道,例如:Service、BroadcastReceiver、Activity等都会利用到Context的相关方法 ; 说它陌生,完全是   因为我们真正的不懂Context的原理、类结构关系。一个简单的问题是,一个应用程序App中存在多少个Co...

2018-10-23 19:45:27 101

原创 long(Long)与int(Integer)之间的转换

一.将long型转化为int型,这里的long型是基础类型:long   a = 10;     int b = (int)a;   二.将Long型转换为int 型的,这里的Long型是包装类型:Long a = 10; int b=a.intValue();三.将int型转化为long型,这里的int型是基础类型:int a = 10;long b = (int)a;四...

2018-10-23 17:57:43 14372 2

原创 android 判断App进程是否存在,处在前台,后台,前后台切换,service是否运行,设置为系统app

1.判断进程是否存在//判断是否在主进程,这个方法判断进程名或者pid都可以,如果进程名一样那pid肯定也一样//true:当前进程是主进程 false:当前进程不是主进程public boolean isUIProcess() { ActivityManager am = ((ActivityManager) getSystemService(Context.ACTIVITY_SER...

2018-10-23 15:21:05 5826

转载 Android ViewPager Fragment 切换刷新数据,解决生命周期只走一次的问题

前言Activity的生命周期都应该熟悉,Fragment其标准生命周期也仅比Activity多出一些流程,如onCreateView(),比较好理解。了解Activity、Fragment的基础知识可以先转头去看下我的博文:Android Fragment项目中使用及生命周期分析认识ViewPager页面加载机制ViewPager的页面缓存机制默认是两个,如果有三个Fragment...

2018-10-23 15:04:31 2288

转载 ByteBuffer.allocate()与ByteBuffer.allocateDirect()方法的区别。

在Java中当我们要对数据进行更底层的操作时,一般是操作数据的字节(byte)形式,这时经常会用到ByteBuffer这样一个类。ByteBuffer提供了两种静态实例方式: public static ByteBuffer allocate(int capacity)   public static ByteBuffer allocateDirect(int capacity)  为什...

2018-10-11 11:29:51 6668

转载 java之HeapByteBuffer&DirectByteBuffer以及回收DirectByteBuffer

byte buffer一般在网络交互过程中java使用得比较多,尤其是以NIO的框架中;看名字就知道是以字节码作为缓冲的,先buffer一段,然后flush到终端。而本文要说的一个重点就是HeapByteBuffer与DirectByteBuffer,以及如何合理使用DirectByteBuffer。 1、HeapByteBuffer与DirectByteBuffer,在原理上,前...

2018-10-11 11:29:16 1380

原创 java复制文件的4种方式

一、使用FileStreams复制这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B。 这是第一个方法的代码: 1 private static void copyFileUsingFileStreams(File source, File dest) 2 thr...

2018-10-11 11:08:06 7282 1

转载 Android 反编译神器jadx的使用

一、前言今天介绍一个非常好用的反编译的工具 jadx 。jadx 的功能非常的强大,对我而言,基本上满足日常反编译需求。jadx 优点:图形化的界面。 拖拽式的操作。 反编译输出 Java 代码。 导出 Gradle 工程。这些优点都让 jadx 成为我反编译的第一选择,它可以处理大部分反编译的需求,基本上是我反编译工具的首选。接下来我们就来看看,jadx 如何使用吧。...

2018-10-10 15:59:05 1983

Android仿墨迹天气应用源码

Android仿墨迹天气应用源码,代码规范,供大家学习参考。

2019-01-16

Android天气应用源码

Android天气应用源码,里面界面功能很全,供大家学习。

2019-01-16

Android仿大众点评源码

Android仿大众点评源码,里面界面功能很全,供大家学习

2019-01-16

一款用于城市数据的Android小应用源码

一款用于城市数据的Android小应用源码,供大家学习,里面有汉语转为拼音的实现

2019-01-16

Android一款社交软件学习源码

Android一款社交软件学习源码,供大家学习用,代码很全

2019-01-16

多种酷炫自定义ProgressBar的圆形带百分比进度条源码

多种酷炫的自定义ProgressBar的圆形加载进度条源码,带百分比进度显示

2019-01-16

毛玻璃效果算法源码

Android毛玻璃效果算法源码,可以直接集成在自己项目中,利用毛玻璃算法工具类调用

2019-01-16

android 仿iPhone自定义底部弹出菜单

仿iphone界面的从底部弹出来的自定义菜单,可以按照自己需要增加菜单项,美化菜单界面

2019-01-05

空空如也

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

TA关注的人

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