自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (2)
  • 收藏
  • 关注

原创 本地搭建redis集群

下载并解压cd /usr/local/src wget http://download.redis.io/releases/redis-3.2.4.tar.gz //只有3.0以上的版本才支持集群 tar -zxvf redis-3.2.4.tar.gz  2. 编译安装cd redis-3.2.4 make && make install 3. 将 redis-trib.rb 复

2017-11-20 14:33:56 1614

原创 同一线程内多Handler使用浅析

做android开发的人都知道Handler处理机制,handler的出现就是为了保证UI线程安全,对UI的修改只有UI线程可以操作,不允许其他线程操作,下面对Handler异步消息处理机制再做一下简单的介绍: 1、成员介绍 Message:主要功能是进行消息的封装,同时可以指定消息的操作形式; Looper:消息循环泵,用来为一个线程跑一个消息循环。每一个线程最多只可以拥有一个。 Mess

2016-02-25 13:56:38 6702 4

原创 GestureDetector +onTouch实现区域内滑动(事件分发)

以前都是用GestureDetector都是跟Activity的onTouchEvent方法结合,实现全屏幕的滑动捕获,而本次由于项目需要实现横幅广告轮播功能,轮播包括自动滚动和手动滑动,因此我打算在手动滑动上依旧采用GestureDetector去实现,与之前的不同,这次不能与onTouchEvent去组合了(是可以通过这种方式组合的,只是麻烦点),因为不需要全屏滑动,只有手在轮播图的区域内滑动才

2016-02-24 17:22:34 762

原创 LayoutInflater 填充器填充布局,布局属性失效问题

无意间看到一个帖子,标题:一个难倒 3年 android开发经验 ” 工程师 ” 的 “bug”,链接地址:http://www.2cto.com/kf/201602/489364.html,所描述的问题就是通过填充器动态添加View对象的时候发现view中的宽高失效,而原帖作者所采用的方式是重新设置布局参数,方法如下代码所示: ll_container=(LinearLayout)

2016-02-16 16:51:21 2089 3

转载 从源码角度带你分析 Android View 事件分发 dispatchTouchEvent,onTouch,onTouchEvent,onClick逻辑顺序过程(一)

转载地址:http://www.2cto.com/kf/201504/388625.html 关于Android View 事件分发过程的文章网络上可以搜到一把大,这里贴一篇代码性的文章,作者也是个牛人:Android事件分发机制完全解析,带你从源码的角度彻底理解(上)。虽然讲的很好,但是看完之后还是感觉有那么点一知半解,于是自己花了点时间从源码研究android 触摸事件分发流程,以下内容仅仅个

2016-02-05 11:05:07 761

转载 Java策略模式(Strategy模式) 之体验

转载地址:http://zhanche2011.iteye.com/blog/1169948 本文探讨初学使用策略模式时遇到的一些疑惑,以及在工作中慢慢解决之前遇到的疑惑,借此与大家分享。比如说本文谈到策略模式中环境角色Context的用处,为什么一定要用,可不可以将此取消。这些都是在学习和工作的实践总结中慢慢体会到的。 首先,我们来看下策略模式的概念。一般的解释如下:

2016-02-04 09:49:52 294

原创 单例中的多线程同步写法与分析

在项目开发中,大多数人都会用到单例模式,单线程的常规单例模式写法这里不再赘述,这里只是想对多线程的单例设计模式进行一下描述与分析,提到多线程,大家就会想到线程安全,因此所有人都会想到同步方法,确实应该放到同步方法中进行限制: 下面展示第一种同步方式:public class Singleton { private static Singleton instance = null; p

2016-02-03 18:05:59 1441

原创 从getView()重复调用浅谈listview数据装载机制

公司的一个项目装载数据用到listview @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; Log.i("外侧---------:","getChildCount(

2016-02-03 17:45:37 271

转载 Android应用性能优化之使用SparseArray替代HashMap

转载地址:http://www.android100.org/html/201506/21/156262.html 一、概述 最近在项目中看到了SparseArray,好奇研究了下。 SparseArray是Android框架独有的类,在标准的JDK中不存在这个类。它要比 HashMap 节省内存,某些情况下比HashMap性能更好,按照官方问答的解释,主要是因为SparseArray不需要对k

2016-02-02 16:49:56 291

原创 List.remove(int index)新发现

今天无意间看到List源码中得remove(int index)方法,先上源码:/** * Removes the element at the specified position in this list. * Shifts any subsequent elements to the left (subtracts one from their * indices

2016-02-01 11:14:00 410

原创 备忘录模式

今天无意间看到了备忘录模式,由于之前没有接触过,出于好奇,研究了一下,简单来说就是把当前状态记录下来,作为备份,用于意外情况发生恢复用的,有点类似于回退的意思。 备忘录设计模式,总共分为三个角色: 发起人:要备份的成员,将自身的属性信息进行备份,恢复自身的属性信息等 备忘录:存储发起人要备份的属性信息 管理者:管理备忘录对象下面以表单信息为样例进行演示: 首先是发起人类:/** * 发起

2016-01-22 16:55:32 295

原创 Scroller 的滑动应用详解

最近研究了一下qq中listview 滑动出现删除按钮的操作,找到了一个SwipeMenuListView的类库,于是认真的研读了一下代码,确实有很多可学习的知识,其中有一个地方用到了ScrollerCompat这个类,之前确实没有接触过,所以认知学习了一下,这个类,主要是用来支持自动滑动的,其中用到了几个重要的方法: 1、public void startScroll (int startX

2016-01-22 14:59:44 585

转载 getFragmentManager与getChildFragmentManager

getFragmentManager到的是activity对所包含fragment的Manager,而如果是fragment嵌套fragment,那么就需要利用getChildFragmentManager()了。 getFragmentManager到的是activity对所包含fragment的Manager,而如果是fragment嵌套fragment,那么就需要利用getChildFrag

2016-01-20 17:38:13 286

原创 android Context 使用,防止内存泄漏

关于Context内存泄漏问题,目前发现只是在单例模式下会出现,因此我只就单例模式出现的内存泄漏进行介绍 先上代码:`public class LoadImageHelper {private static LoadImageHelper loadImageHelper;private static Context mContext;private LoadImageHelper() { i

2016-01-20 10:48:38 932

原创 android UI重绘

今天在看SwipeMenuListView源代码时,其中的滑动行为是通过在case MotionEvent.ACTION_MOVE:中不断地调用View.layout()方法,当时觉得很奇怪的是为什么没有调用invalidate(),进行手动刷新,于是搜索网上文档,发现其实是在UI控件接收到相应事件后会自动调用重绘方法,不需要人为手动添加,如Button控件,就只需要处理Down、move、up这几

2016-01-19 20:13:04 502

原创 android UI重绘问题

今天研究了一下SwipeMenuListView源代码,其中里面的的滑动效果是在MotionEvent.ACTION_MOVE:这个case中相应的,其实有时在这个动作的时候不断地调用View.layout()方法,但是当时突然很疑惑,为什么没有调用invalidate();带着疑问在网上不断地搜索,终于发现原来是:对于触屏事件,android系统都会对UI界面进行重绘,因此不用我们进行手动调用刷

2016-01-19 17:58:01 586

原创 关于setBackgroundResource 中偶尔会出现padding失效问题

在公司做一个样式布局 用到了描述背景的drawable/中的 xml文件,本来是一个很简单的问题,先上效果图 其实就是通过切换按钮改变按钮效果,圆角效果就不讨论了,现在只是想讨论一下中间那个按钮出现的问题, 设计思路: 当中间那个按钮失去焦点的时候,通过setBackgroundResource方法将xml资源设置进去,其实就是两边加两条竖线 xml文件代码<?xml version="

2016-01-05 15:51:03 549

原创 关于setBackgroundResource 中偶尔会出现padding失效问题(无图)

在公司做一个样式布局 用到了描述背景的drawable/中的 xml文件,本来是一个很简单的问题,先上效果图其实就是通过切换按钮改变按钮效果,圆角效果就不讨论了,现在只是想讨论一下中间那个按钮出现的问题,设计思路:当中间那个按钮失去焦点的时候,通过setBackgroundResource方法将xml资源设置进去,其实就是两边加两条竖线xml文件代码

2016-01-05 14:38:53 1357

原创 自定义布局机制

公司项目中有一个控件自动换行需求,也就是从在ViewGroup中布局子View时根据view的大小,自动换行,根据这个需求,我开始研究android布局的源码,android控件布局需要执行三个过程,onMeasure()、 onLayout()、onDraw(); 1、每个布局过程中onMeasure(int widthMeasureSpec, int heightMeasureSpec)会接

2015-12-31 13:24:50 355

空空如也

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

TA关注的人

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