自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 资源 (1)
  • 收藏
  • 关注

原创 RecyclerView源码分析过程记录

RecyclerView源码分析过程记录一.疑问是如何完成初始化的数据刷新机制视图的缓存机制关于ItemDecoration关于LinearLayoutManager二.初次分析分析过程将会忽略动画以及比较细节的部分,同时挑选最常用的垂直列表布局LinearLayoutManager来分析,此节会分成测量、布局、绘制三大部分来分析。分析基于androidx.recycler...

2019-08-12 15:33:24 1341 2

原创 解决ViewPager动画异常(数据刷新、padding、pageMargin)

1.支持ViewPager按需添加、删除视图,以及局部刷新;2.修复多场景下ViewPager.PageTransformer返回的position错误,让开发者专注于动画实现;3.修复ViewPager的width、paddingLeft、paddingRight、pageMargin动态改变导致当前page定位异常的问题;4.提供自定义GraceViewPager,可快速实现一屏显示多Page的功能。

2018-08-09 21:48:38 4456 6

原创 ViewPager源码分析(发现刷新数据的正确使用姿势)

ViewPager源码分析(发现刷新数据的正确使用姿势)1.初始化2.跳转到指定item3.刷新数据1.Item按需创建和销毁2.Item视图刷新4.应用5.拓展:一屏显示多页+切换动画ViewPager源码分析(发现刷新数据的正确使用姿势)ViewPager的使用场景在这不赘述。此篇分析关注的是核心部分,即item如何进行添加、删除,以及如何刷新数据...

2018-08-03 16:54:14 5245 1

原创 LayoutTransition关键点分析

文章目录LayoutTransition关键点分析关键点1:当有`View`发生消失或隐藏时,关联变化动画除了作用到其它`View`,也默认作用到`View`树上的所有`Parent`关键点2:关联变化动画触发的条件关键点3:变化动画过程中,抑制`ViewGroup.layout`的执行防止出现变化动画过程发生闪动LayoutTransition关键点分析关于LayoutTransition的具体使用,本文不赘述了。本文描述的关键点都是基于默认的动画实现,而非自定义动画。LayoutTransitio

2022-04-27 16:11:07 438

原创 Android 4.4支持TLSv1.2的解决方案(包含服务器端注意事项)

问题测试反馈Android 4.4(API19)访问服务器报错:javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x787a3d40: Failure in SSL library, usually a protocol error error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/ope

2022-01-06 15:08:56 3611

原创 Handler消息机制

文章目录Handler消息机制前言开始分析消息处理机制Handler-消息处理器Looper-轮询器MessageQueue-消息队列Message-消息载体同步屏障机制加入同步屏障处理异步消息移除同步屏障空闲通知机制:IdleHandlerIdleHanlder的添加和移除IdleHandler的调用阻塞唤醒机制:epoll小结参考Handler消息机制前言Handler机制是Android提供的消息处理机制。采用的是生产者-消费者模型,Handler就是生产者,通过它可以生产需要执行的消息任务放到

2021-05-06 10:05:26 277 1

转载 Android跨进程通信:图文详解 Binder机制 原理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-17 10:38:01 261

转载 一篇文章了解相见恨晚的 Android Binder 进程间通讯机制

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-17 10:35:20 313

转载 Android Binder设计与实现 - 设计篇

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-17 10:30:18 119

转载 Java的编译,加载过程

流程图Java代码编译是由Java源码编译器来完成,流程图如下所示:  Java代码编译 Java字节码(class文件)的执行是由JVM执行引擎来完成,流程图如下所示:  Java字节码的执行 Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制Java源码编译机制Java 源码编译由以下三个过...

2018-12-21 10:26:45 520

转载 Android Studio你不知道的调试技巧

写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug;那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点;可是你听说过日志断点吗,Method Breakpoint, Exception Breakpoint 呢?还有高大上的 Field Watchpoint ?几种不同的断点

2016-04-18 15:45:09 468

转载 使用Android性能分析工具——TraceView

TraceView界面现来看一下整个界面的图,整个界面包括上下两部分,上面是你测试的进程中每个线程的执行情况,每个线程占一行;下面是每个方法执行的各个指标的值上面一部分是你测试进程的中每个线程运行的时间线,下图中可以可以看到,主要只有一个main线程在执行,因为我滑动了一下列表,main线程(UI线程)正在进行绘制View呢~然后我点击了序号为133的一个方法

2016-03-21 19:05:45 473

转载 Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)

目录(?)[+]转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40411921,本文出自:【张鸿洋的博客】1、概述之前写过一篇博文:Android 自定义 ViewPager 打造千变万化的图片切换效果。有兄弟提出,ViewPager自带了一个setPageTransformer用于设置切换动画~

2016-03-14 19:35:07 780

转载 Android 带你从源码的角度解析Scroller的滚动实现原理

转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273),请尊重他人的辛勤劳动成果,谢谢!今天给大家讲解的是Scroller类的滚动实现原理,可能很多朋友不太了解该类是用来干嘛的,但是研究Launcher的朋友应该对他很熟悉,Scroller类是滚动的一个封装类,可以实现View的平滑滚动效

2016-03-10 21:00:47 452

转载 Android M 新的运行时权限开发者需要知道的一切

原文出处:http://jijiaxin89.com/2015/08/30/Android-s-Runtime-Permission/ android M 的名字官方刚发布不久,最终正式版即将来临!android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜有谈论这事儿,尽管这事很重要或许在不远的将来会引发很严重的问题。

2016-01-26 15:37:58 413

转载 Android TextureView简易教程

如果你想显示一段在线视频或者任意的数据流比如视频或者OpenGL 场景,你可以用android中的TextureView做到。TextureView的兄弟SurfaceView应用程序的视频或者opengl内容往往是显示在一个特别的UI控件中:SurfaceView。SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。这种方式的效率非常高,因为SurfaceView

2015-12-30 11:05:13 1619

转载 android中xml tools属性详解

第一部分安卓开发中,在写布局代码的时候,ide可以看到布局的预览效果。但是有些效果则必须在运行之后才能看见,比如这种情况:TextView在xml中没有设置任何字符,而是在activity中设置了text。因此为了在ide中预览效果,你必须在xml中为TextView控件设置android:text属性1234

2015-12-30 10:33:45 423

转载 android:clipToPadding和android:clipChildren

假设我们要做一个效果,界面最顶部是一个ActionBar并且是半透明的,ActionBar下面是一个ListView,在初始状态 下,ListView是top是在ActionBar的bottom位置的,但当ListView滚动的时候可以透过ActionBar看到下面的 ListView的内容。如下面两张图所示:正常态:滚动态:乍一看,不是很简单吗,只要设置一

2015-12-29 15:24:15 1187

原创 android EditText限制输入框小数位数

先看下XML布局文件 android:id="@+id/et" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toLeftOf="@+id/tv_count"

2015-10-09 11:12:21 5819

转载 Android 中的 AOP 编程

原文链接 : Aspect Oriented Programming in Android原文作者 : Fernando Cejas译文出自 : 开发技术前线 www.devtf.cn译者 : byronwind校对者: bboyfeiyu状态 : 校对完成面向切面编程(AOP,Aspect-oriented programming)需要把程序逻辑分解成『关注点』(concerns,功

2015-09-06 17:29:58 808

转载 Android Paint之 setXfermode PorterDuffXfermode 讲解

转自:http://blog.csdn.net/tianjian4592前面关于paint的方法讲解里,讲到 setXfermode 就截止了,原因有两个:1. 那篇文章已经太长了,我自己都看不下去了;2. setXfermode 在paint 里占有至关重要的地位;基于以上两个原因,我们一起来看看这个方法有何妙用。首先我们还是来看看关于这个

2015-08-26 15:14:02 615

转载 greenDAO系列7--关系

本文转自:http://my.oschina.net/u/1052509/blog/312635摘要 本章节介绍greenDAO是如何表示和处理数据库中表之间的关系。1:1,1:n和m:nandroid sqlite greenDAO    数据库表之间的关系可以用1:1,1:n或者m:n表示。如果你初次接触这些关系,最好在我们讨论ORM细节前理解理解透

2015-08-23 14:37:47 1070

转载 greenDAO系列6--会话

本文转自:http://my.oschina.net/u/1052509/blog/312623摘要 DaoSession类是greenDAO的关键接口之一。首先,DaoSession 提供开发者访问实体的基础操作,而DAOs提供更加完整的操作集。Sessions也管理着实体的作用域。android sqlite greenDAO    DaoSes

2015-08-23 14:37:00 593

转载 greenDAO系列5--查询

本文转自:http://my.oschina.net/u/1052509/blog/312608摘要 查询就是返回符合一定条件的实体。可使用原始的SQL语句执行查询;或是更好的方式,使用greenDAO中QueryBuilder的API。查询支持懒加载,当操作较大的结果集时,便可节约内存、提高性能。android sqlite greenDAO    查

2015-08-23 14:35:16 12950

转载 greenDAO系列4--构建模型

本文转自:http://my.oschina.net/u/1052509/blog/312590摘要 在项目中使用greenDAO的第一步是创建实体模型,实体模型代表你应用中会使用到的持久化数据。基于该模型,greenDao生产DAO类相关的java代码。android sqlite greenDAO    在项目中使用greenDAO的第一步是创建实体

2015-08-23 14:34:14 860

转载 greenDAO系列3--又是介绍

本文转自:http://my.oschina.net/u/1052509/blog/312543摘要 greenDAO是一个适用Android的对象关系映射(ORM)工具。它为关系型数据库提供了面向对象接口。ORM工具(如greenDAO)会为你做许多重复性的工作并提供简单的接口访问数据。android sqlite greenDAO    gr

2015-08-23 14:33:19 858

转载 greenDAO系列2--如何开始

摘要 本节将通过一个简单的示例项目带你入门greenDAOandroid sqlite greenDAO    本节将通过一个简单的示例项目带你入门。访问https://github.com/greenrobot/greenDAO ,其中包含两个子项目(文件夹)DaoExample 和 DaoExampleGenerator。可复制git仓库获取代码运行,或直接在githu

2015-08-23 14:31:22 499

转载 greenDAO系列1--概要

摘要 greenDAO是针对Android的非常优秀ORM类库,简化和方便开发者对SQLite的操作。下面的一系列文章是对greenDAO官网的翻译,能力有限,翻译不一定到位,大家可以参考其官网:http://greendao-orm.com/android sqlite greenDAO    greenDAO是一个开源项目,旨在帮助Android开发者方便使用SQLit

2015-08-23 14:29:03 609

转载 关于Android的问号?和@符号的用法

@表示引用资源,声明这是一个资源引用—随后的文本是以@[package:]type/name形式提供的资源名。@android:string表明引用的系统的(android.*)资源@string表示引用应用内部资源对于id, 可以用@+id表明创建一个id?表示引用属性“?”引用主题属性,当您使用这个标记,你所提供的资源名必须能够在主题属性中找到,因为资源工具认为这个资源属性

2015-08-12 15:00:12 1835

转载 android图片处理之图像模糊

转自:http://blog.csdn.net/crazy__chen/article/details/47027069这篇文章将给大家介绍android图片处理的高效做法,大家有需求的时候可以参考一下。首先我要说明一下本实例中实现的效果(我还不会制作gif图,如果谁会的话,希望可以教一下我):通过手指对图片的上下滑动,实现图片的逐渐模糊效果。找网上找了一张效果

2015-07-31 09:35:47 577

原创 Android后台服务拍照的解决方案

一、背景介绍最近在项目中遇到一个需求,实现一个后台拍照的功能。一开始在网上寻找解决方案,也尝试了很多种实现方式,都没有满意的方案。不过确定了难点:即拍照要先预览,然后再调用拍照方法。问题也随之而来,既然是要实现后台拍照,就希望能在Service中或者是异步的线程中进行,这和预览这个步骤有点相矛盾。那有什么方式能够既能正常的实现预览、拍照,又不让使用者察觉呢?想必大家也会想到一个取巧的办法:隐藏

2015-07-23 18:28:56 12403 14

转载 Android中WindowManager.LayoutParams类详解

WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;继承于 ViewGroup.LayoutParams 。         它的内容十分丰富。其实WindowManager.java的主要内容就是由这个类定义构成。下面来分析一下这个类:         定义         public static class WindowMan

2015-07-17 09:49:25 459

转载 Android软键盘属性android:windowSoftInputMode

关于属性android:windowSoftInputMode,经常忘记属性作用,在这里做个备忘以便快速查询。activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 这个属性能影响两件事情: 【一】当有焦点产生时,软键盘是隐藏还是显示 【二】是否减少活动主窗口大小以便腾出空间放软键盘 它的设置必须是下面列表中的一个值,或一个”state

2015-07-16 11:35:05 502

转载 Android Canvas的save(),saveLayer()和restore()浅谈

1.在自定义控件当中你onMeasure和onLayout的工作做完成以后就该绘制该控件了,有时候需要自己在控件上添加一些修饰来满足需求复写onDraw(Canvas canvas),其中Canvas就像是一块画布,你自定义控件的样式就是在它上面完成的。Canvas ,Paint等基本概念就不赘述了。2.下面就直接用demo来解释标题列出的方法先介绍save()和必

2015-06-10 12:01:01 943

转载 android Graphics:区域(Region)

前言:最近几天对画图的研究有些缓慢,项目开始写代码了,只能在晚上空闲的时候捯饬一下自己的东西,今天给大家讲讲区域的相关知识,已经想好后面两篇的内容了,这几天有时间赶紧写出来给大家。有关界面开发的东东内容确实比较多,慢慢来吧,总有一天会不一样。我自己的一句警言,送给大家:想要跟别人不一样,你就要跟别人不一样。----- Harvic 相关文章:

2015-06-10 08:56:53 1915

转载 android Graphics:canvas变换与操作

前言:前几篇讲解了有关canvas绘图的一些操作,今天更深入一些,讲讲对画布的操作,这篇文章不像前几篇那么容易理解,如果以前没有接触过画布的童鞋可能比较难以理解,为什么会这样。我尽量多画图,让大家更清晰明白。前几天偶然看到一篇文章,写的朴实无华,充满正能量,我非常喜欢里面的一句话,很像我现在的状态,分享给大家。人生最纠结的事情不是你甘于平淡,而是你明明不希望平凡却不知道

2015-06-09 19:14:52 678

转载 Android照片墙完整版,完美结合LruCache和DiskLruCache

转载自:http://blog.csdn.net/guolin_blog/article/details/34093441#comments在上一篇文章当中,我们学习了DiskLruCache的概念和基本用法,但仅仅是掌握理论知识显然是不够的,那么本篇文章我们就来继续进阶一下,看一看在实战当中应该怎样合理使用DiskLruCache。还不熟悉DiskLruCache用法

2015-06-03 15:26:50 510

转载 Android DiskLruCache完全解析,硬盘缓存的最佳方案

转载自:http://blog.csdn.net/guolin_blog/article/details/28863651概述记得在很早之前,我有写过一篇文章Android高效加载大图、多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的存储与释放,如果图片

2015-06-03 15:15:33 379

转载 彻底理解ThreadLocal

转自:http://blog.csdn.net/lufeng20/article/details/24314381ThreadLocal是什么  早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。  当使用ThreadLocal

2015-05-27 15:34:48 357

转载 Android Service学习之AIDL, Parcelable和远程服务

AIDL的作用    由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。    通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。

2015-05-27 14:19:37 399

Java Tcp文件传输小练习

简单的从客户端传输文件到服务器端,服务器端保存文件到本地

2013-07-21

空空如也

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

TA关注的人

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