自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

转载 Android中View绘制流程以及invalidate()等相关方法分析

转载自:http://blog.csdn.net/qinjuning/article/details/7110211前言: 本文是我读《Android内核剖析》第13章----View工作原理总结而成的,在此膜拜下作者 。同时真挚地向渴望了解     Android 框架层的网友,推荐这本书,希望你们能够在Android开发里学到更多的知识 。

2015-11-18 16:38:20 324

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

转载自:http://blog.csdn.net/guolin_blog/article/details/17357967不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析、视图的绘制流程、视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了。如果你还没有看过我前面的几篇文章,建议先去阅读一下,

2015-11-18 16:31:38 292

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

转载自:http://blog.csdn.net/guolin_blog/article/details/17045157在前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure、onLayout、onDraw这三个最重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识。如果你还没有看过我前面

2015-11-18 16:28:19 388

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

转载自:http://blog.csdn.net/guolin_blog/article/details/16330267在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的。如果你还没有看过我的上一篇文章,可以先去阅读 Android

2015-11-18 15:54:18 287

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

转载自:http://blog.csdn.net/guolin_blog/article/details/12921889有段时间没写博客了,感觉都有些生疏了呢。最近繁忙的工作终于告一段落,又有时间写文章了,接下来还会继续坚持每一周篇的节奏。有不少朋友跟我反应,都希望我可以写一篇关于View的文章,讲一讲View的工作原理以及自定义View的方法。没错,承诺过的文章我是一定要兑

2015-11-18 15:42:04 272

原创 HashMap

HashMap源码解析一、HashMap概述HashMap基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。( 除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。值得注意的是HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Colle

2015-11-11 21:44:49 321

原创 Java基础之集合类常见试题

1、Collection和Collections的区别java.util.Collection 是一个集合接口,Collection接口在Java类库中有很多具体的实现,例如List、Setjava.util.Collections 是针对集合类的一个帮助类,它提供了一系列的静态方法实现对各种集合的搜索、排序、线程安全化等操作。2、ArrayList与Vector的区别

2015-07-25 15:32:05 1678

原创 Java基础之垃圾回收机制以及内存泄露

1、Java的内存泄露介绍首先明确一下内存泄露的概念:内存泄露是指程序运行过程动态分配了内存,但是在程序结束的时候这块内存没有被释放,从而导致这块内存不可用,这就是内存泄露,重启计算机可以解决这个问题,但是有可能再次发生内存泄露,内存泄露与硬件没有关系,它是软件设计的缺陷所导致的。Java发生内存泄露的原因很明确,就是长声明周期对象持有短声明周期对象的引用就很可能发生内存泄

2015-07-25 15:26:01 1006

原创 Java基础之多线程

1、多线程有哪几种实现方法?举个例子说明下线程的同步。(1)Java多线程有两种实现方式:继承Thread类和实现Runnable接口。Thread就是实现了Runnable接口。两个最简单的线程例子:package test.thread;public class ThreadTest2 { public static void main(String[] args)

2015-07-25 15:06:10 233

转载 Android之ContentProvider

1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)2.相关概念介绍1)ContentProvider简介       当应用继承Cont

2015-03-22 23:17:46 250

转载 Android中SQLite应用详解

下面就向大家介绍一下SQLite常用的操作方法,为了方便,我将代码写在了Activity的onCreate中:[java] view plaincopy    @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCre

2015-03-22 23:13:21 301

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

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

2015-01-15 17:40:32 305

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

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

2015-01-15 16:14:09 404

原创 Property Animation:PropertyValuesHolder

1)我们可以通过 PropertyValuesHolder类的工厂方法ofInt, ofFloat等方法,让它能够Hold住对应property的value。 2)在利用ObjectAnimator的ofPropertyValuesHolder方法时,再将我们上面定义的propertyValuesHolder给传进去,定义出一个objectAnimator。 3)设置objectA

2015-01-15 15:59:27 476

原创 Java程序员面试时要注意的一些问题

1.HashMap和Hashtable之间的区别经常问到。这两个都是Map接口的类,实现了将唯一键映射到特定的值上。HashMap类没有排序,可以一个null键和多个null值Hashtable,不可以有null键和null值。比Hash慢,因为他是同步的。2.abstract class和interface有什么区别经常问。声明方法的存在而不去实现它的类被叫做抽象类(ab

2015-01-14 16:34:12 358

原创 setFillAfter 和 setFillBefore只能改变动画的属性

Animation只是操作View 的位图表示(bitmap representation),而不是真正的改变View的位置动画结束后,View回到了原来的位置,setFillAfter 和 setFillBefore 并不能解决这个问题,要使View保持动画结束时的状态,必须另外改变View的属性(动画并不会帮助你改变View的属性),setFillAfter 和 setFillBefo

2015-01-13 17:02:14 1162

转载 Android实现数据存储技术

转载自:http://www.cnblogs.com/hanyonglu/archive/2012/03/01/2374894.html本文介绍Android中的5种数据存储方式。 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据2 文件存储数据3

2014-12-19 23:14:53 330

转载 Android开发之InstanceState详解

转载自:http://www.cnblogs.com/hanyonglu/archive/2012/03/28/2420515.html  本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceState(),并且在介绍这两个方法之后,再分别来实现使用InstanceState保存和恢复数据功能、And

2014-12-19 23:11:21 302

转载 extern的用法

修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,不只是取决于在a.c中声明e

2014-01-04 15:21:05 924

转载 关于&a和a (a为数组名)

1. a和&a的区别:&a是整个数组的首地址,a是数组首元素的首地址,其值相同,但是意义不同。eg:char a[5] = {'A','B','C','D'};char (*p1)[5] = &a; //没有问题,char (*p1)[5]是数组指针,指向数组a[5]的首地址。char (*p2)[5] = a; //编译出错,提示类型无法从“char [5]”转换为“char

2014-01-04 14:39:17 861

转载 C++经典面试题

转载自:http://blog.csdn.net/hackbuteer1/article/details/74671391、int a=5,则 ++(a++)的值是()A、5      B、   6          C、7       D、逻辑错误a++返回的是一个临时变量,这里是右值,不能再前面++了2、下面的代码输出什么?(取地址运算符比+运算符的优先级要高)

2014-01-04 14:08:59 429

转载 malloc/free与new/delete的区别

转载自:http://blog.csdn.net/hackbuteer1/article/details/6789164相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要

2014-01-04 14:07:16 372

转载 C++中的static关键字

转载自:http://blog.csdn.net/hackbuteer1/article/details/7487694C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变

2014-01-04 13:58:19 334

转载 关于C++中的友元函数的总结

1.友元函数的简单介绍1.1为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。实际上具体大概有下面两种情况需要使用友元

2014-01-04 13:49:38 374

转载 C++浅拷贝和深拷贝的区别

转载自:http://blog.csdn.net/xdx2ct1314/article/details/7495539c++默认的拷贝构造函数是浅拷贝        浅拷贝就是对象的数据成员之间的简单赋值,如你设计了一个没有类而没有提供它的复制构造函数,当用该类的一个对象去给令一个对象赋值时所执行的过程就是浅拷贝,如:class A { public:         A(

2014-01-03 16:27:50 468

转载 大小端模式详解

转载自:http://blog.csdn.net/xdx2ct1314/article/details/7693539端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian(这句话最为形象)。小人国的内

2014-01-03 16:16:52 445

转载 Linux网络编程socket错误分析

转载自:http://blog.csdn.net/uestc_huan/article/details/5863614都是网上整理的资料。贴在这里,以便查阅。Linux网络编程socket错误分析 socket错误码: EINTR: 4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket

2014-01-03 16:04:08 621

转载 Linux下EPoll通信模型简析

简介:  EPoll基于I/O的事件通知机制,由系统通知用户那些SOCKET触发了那些相关I/O事件,事件中包含对应的文件描述符以及事件类型,这样应用程序可以针对事件以及事件的source做相应的处理(Acception,Read,Write,Error)。相比原先的SELECT模型(用户主动依次检查SOCKET),变成被动等待系统告知处于活跃状态的SOCKET,性能提升不少(不需要依次遍历所

2014-01-03 13:55:27 410

转载 Linux epoll模型

http://www.cnblogs.com/venow/archive/2012/11/30/2790031.html定义:  epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递结果而不是迫使开发者每次等待

2014-01-03 13:41:31 491

转载 select, poll和epoll的区别

转载自:http://kaiyuan.blog.51cto.com/930309/341121随着2.6内核对epoll的完全支持,网络上很多的文章和示例代码都提供了这样一个信息:使用epoll代替传统的poll能给网络服务应用带来性能上的提升。但大多文章里关于性能提升的原因解释的较少,这里我将试分析一下内核(2.6.21.1)代码中poll与epoll的工作原理,然后再通过一些测

2014-01-03 13:21:41 389

空空如也

空空如也

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

TA关注的人

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