自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 View 绘制流程

View 绘制流程本文为 Android 开源项目源码解析 公共技术点中的 View 绘制流程 部分分析者:lightSkyView 绘制机制1. View 树的绘图流程当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由Android framework 处理.绘制是从根节点开始,对布局树进行 measure 和 draw 。整个 View

2015-06-01 11:30:00 644

转载 PorterDuffXfermode的用法

android.graphics.Paintpublic Xfermode setXfermode (Xfermode xfermode)Set or clear the xfermode object. Pass null to clear any previous xfermode. As a convenience, the parameter passed is also re

2015-05-26 15:12:04 753

原创 设计模式<四>——代理模式

番外:仅供个人学习类图:客户想要操作RealSubject,但实际上是操作Proxy,然后让Proxy去代理客户操作RealSubject。继承统一接口的好处是使得代理类(Proxy)和被代理类(RealSubject)对外都暴露统一的接口。实际上,视情况而定,不一定非得继承至统一接口。与适配器模式的区别:适配器模式着重于数据的转化适配,而代理模式着重于操作的转移

2015-05-26 09:07:48 1357

原创 设计模式<三>——外观模式

番外:仅供个人学习类图:Facade知道哪些子系统负责处理哪些请求,将客户(Client)的请求转移给不同的子系统处理。而暴露给客户(client)的请求操作都是一致的。

2015-05-26 08:57:46 970

原创 设计模式<二>——装饰模式

番外:仅供个人学习装饰模式类图:ConcreteComponent即为装饰者,Decorator即为装饰器。特点:装饰者和装饰器都继至同一个父类,并且装饰器还由父类(装饰者或装饰器)组合而成。即装饰器类成员变量一定包含了装饰者或者装饰器本身。使用:ConcreteComponent c = new ConcreteComponent();//定义一个装饰者Concre

2015-05-26 08:46:40 1965 2

原创 设计模式<一>——适配器模式

Adapter转化Adaptee以适配Target的需求!

2015-05-26 00:08:40 1247

原创 设计模式简介

最近在学习设计模式,工作用有用到,也在书中学习了不少,看了不止一次的书,同一个模式用了不止一次。但是还是怕忘记,俗话说的“好记性不如烂笔头”,因此,常记笔记总是没有坏处。因此,这一章节我主要是把我看到和学到的设计模式做一个提纲挈领的总结,类似于一个思维领导。便于快速浏览,复习和温故知新!每一篇篇幅不会太长,只是抓住该模式的点,以供回忆。本章节的所有文章都是为自己准备的,若方访客期望学习到什么,

2015-05-26 00:05:40 578

翻译 FaceBook推出的Android图片加载库-Fresco

转载原文链接:Introducing Fresco: A new image library for Android作者 : tyrone Nicholas译者 : ZhaoKaiQiang校对者: Chaossss校对者: bboyfeiyu校对者: BillionWang状态 : 完成在Android设备上面,快速高效的显示图片是极为重要的。过去的几年里,我

2015-05-11 18:28:38 2756

翻译 在Activity中使用Thread导致的内存泄漏

原文链接 : Activitys, Threads, & Memory Leaks原文作者 : AlexLockwood译文出自 : 开发技术前线 www.devtf.cn译者 : chaossss校对者: yinna317状态 : 完成注:这篇博文涉及的源码可以在 GitHub 上面下载哦做 Android 开发最常遇到的问题就是在 Activity 的生命周期中协调耗时任务

2015-05-11 16:21:31 2891 5

转载 Android APK安装包瘦身

很显然,APK安装包越小越好。下面从代码,资源文件,使用策略几个方面简要介绍下:代码保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。native code的部分,大多数情况下只需要支持armabi与x86的架构即可。如果非必须,可以考虑拿掉x86

2015-05-10 22:37:12 2180

转载 Android应用程序消息处理机制(Looper、Handler)分析

Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例,应用程序的主线程不断地从这个消息队例中获取消息(Looper),然后对这些消息进行处理(Handler),这样就实现了通过消息来驱动应用程序的执行,本文将详细分析Android应用程序的消息处理机制。        前面我们学习Android应用程序中的Activity启动(Android应用程序启动过程源代码

2015-05-10 17:25:03 1067

翻译 Picasso:一个专为Android打造的强大的图片下载和缓存库

简介在Android应用中,图片消费了大量的资源,为应用提供了很好的视觉体验。Picasso为你的应用提供了很容易的图片加载方式——通常一行代码就可以搞定!Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);Picasso自动地处理了Android上许多图片加载的陷阱:1)在A

2015-05-09 20:41:11 8733

翻译 Google推荐的图片加载库Glide介绍

原文链接:Google推荐的图片加载库Glide介绍作者 : nuuneoi译者 : jianghejie校对者 : chaossss状态 : 完成在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。毫无疑问,这个库引起了

2015-05-09 16:25:02 1436

原创 关于Volatile关键字含义的一些个人理解

Volatile关键字出现在一些高级语言中,尤其是支持多线程编程的语言,比如C、C++、Java和C#。这些语言赋予了Volatile关键字不同的含义,但是总的来说,引入该关键字的出发点应该都是类似的。在将volatile关键字之前,我们先了解一下计算机的缓存系统。根据不同的读取速度,计算机的存储器可以分为disk、memory、cache和register几大类。读写速度依次递增,存储容

2015-05-08 16:22:11 1141

转载 ListView 添加长度样式不固定的分割线

ListView 添加长度样式不固定的分割线ListView可通过配置android:dividerlineandroid:dividerHeight来实现分割listview中item的效果,如图: 如果想跟上图一样实现这种有设计的分割线样式的时候可以使用下面的方法,这个方法也是参照StackOverFlow解决方案上的方法来实现.创建

2015-05-08 11:09:27 920

翻译 Google推荐的图片加载库Glide介绍

原文链接:Google推荐的图片加载库Glide介绍作者 : nuuneoi译者 : jianghejie校对者 : chaossss状态 : 完成在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。毫无疑问,这个库引起了

2015-05-07 10:43:32 59655 13

翻译 掌握Android Touch事件机制

掌握Android Touch事件机制DaveSmith@devunwired要点涵盖l  Touch系统概述l  Framwork层的Touch事件l  Touch事件的处理l  系统提供的TouchHandlersl  系统提供的GestureHandlersAndroid系统怎么处理Touch事件?l  每一个touch事件都被封装成一个MotionE

2015-05-05 18:15:16 1791

转载 MQTT协议简介

MQTT - MQ Telemetry Transport 轻量级的 machine-to-machine 通信协议。publish/subscribe模式。基于TCP/IP。支持QoS。适合于低带宽、不可靠连接、嵌入式设备、CPU内存资源紧张。是一种比较不错的Android消息推送方案。FacebookMessenger采用了MQTT。MQTT有可能成为物联网的重要协议。

2015-04-30 14:15:30 1119

原创 android studio 更新 Gradle错误解决方法

在导入Android Studio的时候,第一件事就是下载项目对应版本的gradle。但是,国内由于被墙了,所以Android Studio在下载相应的gradle的时候会很慢。我们可以先用迅雷之类的工具在网上下好,然后放进指定的路径中,再重启Android Studio来解决这个问题。首先打开android studio项目 找到项目目录gradle\wrapper\gradle-wra

2015-04-28 20:42:39 12237

原创 一道小时候就被考过的数学题

我记得还在我上小学的时候,有人问过我说:”一个正方形,砍掉了一个角,还剩几个角?“。当时想都没想,就说了正方形四个角,砍掉一个当然还剩三个角了。结果当然是被鄙视了。朋友便解释说:”四个角,砍掉一个,肯定就多了一个角了,应该是五个角“,还煞有介事的给我画了出来,我也不以为然,觉得肯定是这样子。因此在以后的很长时间里,这道题的标准答案都是五个角。其实,可能是三个、也可能是四个,当然也有可能是五个。

2015-04-16 17:10:22 1232

原创 对canvas的translate()方法的理解

数学里的矩阵变化有很多,包括矩阵的平移、旋转和缩放等。在图形变换中,经常会对图形进行矩阵变化。抽象起来讲,一个个图形在屏幕上其实就是一排矩阵,在进行矩阵变化的时候,还能采用硬件加速,大大提高效率。本节主要将与举证平移相关的问题:设某点向x方向移动 dx, y方向移动 dy ,[x,y]为变换前坐标, [X,Y]为变换后坐标。则 X = x+dx;  Y = y+dy;

2015-04-12 21:20:21 2668

转载 Android项目打第三方jar包

随着Android系统的日益发展和日渐成熟,各种平台的合作就日渐频繁。现在主要互联网公司,都退出了各种各样的插件功能。如第三方支付,第三方联合登陆和微博分享等等功能。 近期由于业务的需要,公司提出将项目的功能打成jar包,提供给其它客户调用。经过一段时间的调查研究和实践,先将解决办法总结如下。 一、原理介绍 在每个Android项目中,都会有一个R.

2015-04-09 16:47:47 696

转载 Android异步消息处理机制完全解析,带你从源码的角度彻底理解

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9991569之前也是由于周末通宵看TI3比赛,一直没找到时间写博客,导致已经有好久没更新了。惭愧!后面还会恢复进度,尽量保证每周都写吧。这里也是先恭喜一下来自瑞典的Alliance战队夺得了TI3的冠军,希望明年中国战队能够虎起!开始进入正题,我们都知道,Andr

2015-04-06 20:03:12 971

原创 android中View的scrollBy(int x,int y)和scrollTo(int x,int y)的区别

先看看Google的官方文档的解释public void scrollBy (int x, int y)Added in API level 1Move the scrolled position of your view. This will cause a call to onScrollChanged(int, int, int, int) and t

2015-04-06 11:49:02 1756

原创 Android开发内存管理之道

一篇好文导读:相信一步步走过来的Android从业者,每个人都会遇到OOM的情况。如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力。今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念。内存泄漏:对象在内存heap堆中中分配的空间,当不再使用或没有引用指向的情况下,仍不能被

2015-04-04 23:48:38 628

转载 Android 属性动画(Property Animation) 完全解析 (下)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38092093上一篇Android 属性动画(Property Animation) 完全解析 (上)已经基本展示了属性动画的核心用法:ObjectAnimator实现动画,ValueAnimator实现动画,AnimatorSet的使用等~当然了属性动

2015-04-02 18:01:42 752

转载 Android 属性动画(Property Animation) 完全解析 (上)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/380674751、概述Android提供了几种动画类型:View Animation 、Drawable Animation 、Property Animation 。View Animation相当简单,不过只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一定的

2015-04-02 18:00:12 893

转载 Android高效加载大图、多图解决方案,有效避免程序OOM

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9316683本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html

2015-03-31 17:37:34 603

转载 Android官方提供的支持不同屏幕大小的全部方法

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8830286原文地址为:http://developer.android.com/training/multiscreen/screensizes.html本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法:让你的布局能充分的自适

2015-03-31 16:58:22 870

转载 Android任务和返回栈完全解析,细数那些你所不知道的细节

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/41087993本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/guide/components/tasks-and-back-stack.html

2015-03-31 14:53:13 642

转载 程序员必读书籍及导读指南

程序员必读书籍及导读指南最近在网上看了一个非常好的帖子《程序员一生必读的书》(我的腾讯微博上有分享该贴子链接,有兴趣就点击进去看看吧),该贴的第一个张图片是一个雷达图, 这张图是由ThoughtWorks(全球软件设计与定制领域的领袖级企业)的资深人士提供的,它将程序员要读的书分为四个类别,每个类别又分为初级、进阶和高级读物,并用黄色三角形点出了强烈推荐阅读的书籍。四个

2015-03-26 17:23:29 1950

原创 *运项目难点之ScrollView中嵌套百度地图(BaiduMap)的解决方案

由于产品的需求,有时候不得不在ScrollView中嵌套百度地图(BaiduMap)。但是,嵌套之后会存在一些问题,两个比较突出的问题是:1)ScrollView中事件处理与BaiduMap存在冲突。2)在BaiduMap随着ScrollView拖动的时候,存在黑影问题。很多人遇到过这两个问题,也比较棘手,所以希望百度能给出官方的解决方案。下面说说我的处理办法。1)ScrollView中事件处

2015-03-26 15:42:34 7441 14

转载 Android是如何在不同屏幕上适配图片的 -- 或控件大小

在这个日新月异的年代,安卓系统和安卓手机都在快速得发展和更新,于是出现了各种版本的安卓系统和各种配置(屏幕尺寸、屏幕密度、分辨率等)的安卓手机。当一个应用提供一个图片资源时,如果采取一些措施,从视觉角度该图片就会在不同的手机上呈现相同的效果。那么,都有哪些措施,这些措施是如何工作的呢?接下来是笔者对此问题的研究心得,希望对你有所帮助。 u  首先阐释一些术语和概念 Ø  屏幕尺寸(

2015-03-25 20:05:00 1637

转载 onSaveInstanceState和onRestoreInstanceState触发的时机

当某个activity变得“容易”被系统销毁时,该activity的onSaveInstanceState就会被执行,除非该activity是被用户主动销毁的,例如当用户按BACK键的时候。 注意上面的双引号,何为“容易”?言下之意就是该activity还没有被销毁,而仅仅是一种可能性。这种可能性有哪些?通过重写一个activity的所有生命周期的onXXX方法,包括onSaveInstanc

2015-03-04 16:40:51 591

转载 Android TextView自动换行文字,排版混乱的原因和解决方法

转自:http://niufc.iteye.com/blog/17297921、半角字符与全角字符混乱所致:这种情况一般就是汉字与数字、英文字母混用解决方法一:将textview中的字符全角化。即将所有的数字、字母及标点全部转为全角字符,使它们与汉字同占两个字节,这样就可以避免由于占位导致的排版混乱问题了。 半角转为全角的代码如下,只需调用即可。

2015-02-03 14:35:40 5401 3

转载 Android Touch事件传递机制

转载:http://www.trinea.cn/android/touch-event-delivery-mechanism/个人建议:直接阅读英文原版介绍Android Touch事件的传递机制。不少朋友私信问到这个问题,那就推荐一篇我看到的对传递机制介绍最清楚的国外文章吧。本文略作翻译。 1、基础知识(1) 所有Touch事件都被封装成了Moti

2015-01-29 14:06:48 1393

转载 ThreadPoolExecutor使用和思考(中)-keepAliveTime及拒绝策略

转载请说明出处:http://dongxuan.iteye.com/blog/902571工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。 前记: jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大

2015-01-21 13:18:43 1646

转载 浅谈HTTP中Get与Post的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。  1.根

2015-01-20 15:36:35 806

转载 关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析

今天遇到一个很奇特的问题,当用户设置了PIN码,在锁屏界面正常解锁PIN码后,进入Launcher时显示com.android.phone 已停止运行。一开始猜想会不会是解锁PIN码的时候处理导致了Phone进程报错,通过log分析找到了问题的大概原因:[plain] view plaincopyAndroidRuntime: FATAL E

2015-01-14 13:33:21 967

转载 Android 向右滑动销毁(finish)Activity, 随着手势的滑动而滑动的效果

转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/20934541),请尊重他人的辛勤劳动成果,谢谢!今天给大家带来一个向右滑动销毁Activity的效果,Activtiy随着手指的移动而移动,该效果在Android应用中还是比较少见的,在IOS中就比较常见了,例如“网易新闻” ,"美食杰" , "

2014-11-04 16:20:45 1062 1

空空如也

空空如也

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

TA关注的人

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