<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fyang的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fyang2007</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fyang2007]]></copyright><item><title><![CDATA[android 内存泄漏]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/52328412</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/52328412</guid><author>fyang2007</author><pubDate>Fri, 26 Aug 2016 14:55:38 +0800</pubDate><description><![CDATA[一、单例造成的内存泄漏

Android的单例模式非常受开发者的喜爱，不过使用的不恰当的话也会造成内存泄漏。因为单例的静态特性使得单例的生命周期和应用的生命周期一样长，这就说明了如果一个对象已经不需要使用了，而单例对象还持有该对象的引用，那么这个对象将不能被正常回收，这就导致了内存泄漏。

如下这个典例：

public class AppManager {

    privat]]></description><category></category></item><item><title><![CDATA[敏捷开发之Scrum扫盲篇]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/52117233</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/52117233</guid><author>fyang2007</author><pubDate>Thu, 04 Aug 2016 10:59:41 +0800</pubDate><description><![CDATA[什么是敏捷开发？

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

怎么理解呢？首先，我们要理解它不是一门技术，它是一种开发方法，也就是一种软件开发的流程，它会指导我们用规定的环节去一步一步完成项目的开发；而这种开发方式的主要驱动核心是人；它采用的是迭代式开发；

 

为什么说是以人为核心？

我们大部分人都学过瀑布开发模型，它是]]></description><category></category></item><item><title><![CDATA[《道德经》的三个重要版本]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/51679809</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/51679809</guid><author>fyang2007</author><pubDate>Wed, 15 Jun 2016 11:16:32 +0800</pubDate><description><![CDATA[关于《道德经》的版本，可能有数十种之多，其中，晋王弼《老子道德经注》，浙江书局重刊华亭张氏原本（简称“王弼本”、“王注本”、“王本”）；湖南长沙马王堆汉墓出土《老子》帛书甲、乙本（简称“帛书本”）；湖北荆门郭店一号楚墓出土《老子》甲、乙、丙三组竹简本（简称“竹简本”、“简本”），是三个重要的版本。

     　一，王弼本

    　王弼（226--249），魏晋玄学理论奠基人。字辅嗣，]]></description><category></category></item><item><title><![CDATA[java中四种引用类型]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/51536360</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/51536360</guid><author>fyang2007</author><pubDate>Mon, 30 May 2016 11:00:30 +0800</pubDate><description><![CDATA[⑴强引用（StrongReference）
强引用是使用最普遍的引用。如果一个对象具有强引用，那垃圾回收器绝不会回收它。当内存空间不足，Java虚拟机宁愿抛出OutOfMemoryError错误，使程序异常终止，也不会靠随意回收具有强引用的对象来解决内存不足的问题。  ps：强引用其实也就是我们平时A
 a = new A()这个意思。

⑵软引用（SoftReference）
如果一个]]></description><category></category></item><item><title><![CDATA[Java集合类详解]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/51517662</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/51517662</guid><author>fyang2007</author><pubDate>Fri, 27 May 2016 16:17:04 +0800</pubDate><description><![CDATA[Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│　└Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap

Collection接口
　　Collection是最基本的集合接口，一个Collection代表一组Object，即Collection的元素（Elements）。一]]></description><category></category></item><item><title><![CDATA[StringBuffer与StringBuilder之间区别]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/51517159</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/51517159</guid><author>fyang2007</author><pubDate>Fri, 27 May 2016 15:34:38 +0800</pubDate><description><![CDATA[StringBuilder：线程非安全的

　　　　StringBuffer：线程安全的

　　　　当我们在字符串缓冲去被多个线程使用是，JVM不能保证StringBuilder的操作是安全的，虽然他的速度最快，但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作，所以大多数情况下是建议用StringBuilder而不用StringBuffe]]></description><category></category></item><item><title><![CDATA[java知识点总结]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/51513506</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/51513506</guid><author>fyang2007</author><pubDate>Fri, 27 May 2016 10:52:53 +0800</pubDate><description><![CDATA[0、局部变量前不能放置任何访问修饰符
 (private，public，和protected)。final可以用来修饰局部变量 
(final如同abstract和strictfp，都是非访问修饰符，strictfp只能修饰class和method而非variable)。 

1、当一个方法前面的修饰符为private 或 static时，系统会自动在方法前面加一个final,所以该方法可]]></description><category></category></item><item><title><![CDATA[Android触摸事件分发机制]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/25229869</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/25229869</guid><author>fyang2007</author><pubDate>Wed, 07 May 2014 17:03:44 +0800</pubDate><description><![CDATA[Android中的事件分为按键事件和触摸事件，这里对触摸事件进行阐述。Touch事件是由一个ACTION_DOWN，n个ACTION_MOVE，一个ACTION_UP组成onClick，onLongClick，onScroll等事件。Android中的控件都是继承View这个基类的，而控件分为两种：一种是继承View不能包含其他控件的控件；一种是继承ViewGroup可以包含其他控件的控件，暂且称]]></description><category></category></item><item><title><![CDATA[android中dex及odex的反编译]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/8901740</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/8901740</guid><author>fyang2007</author><pubDate>Wed, 08 May 2013 18:41:28 +0800</pubDate><description><![CDATA[一、odex破解步骤：
1、下载baksmali-1.4.2.jar、smali-1.4.2.jar并放到framework文件目录下，最好取出ROM中/system/framework及/system/app下所有文件；
2、执行java -jar .\baksmali-1.4.2.jar -x .\framework.odex（需要反编译的odex文件）；
3、执行java -Xmx51]]></description><category></category></item><item><title><![CDATA[android.graphics包中的一些类的使用]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/8771489</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/8771489</guid><author>fyang2007</author><pubDate>Mon, 08 Apr 2013 11:15:52 +0800</pubDate><description><![CDATA[Region：表示一块区域 
和Rect不同的是，它表示的是一个不规则的样子，可以是椭圆、多边形等等，而Rect仅仅是矩形。 
Java代码    




Region region = new Region();  
region.isEmpty();  
  
// width: 100, height: 50的矩形  
region.set(100, 100, 200]]></description><category></category></item><item><title><![CDATA[Android图像处理之Bitmap类]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/8771473</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/8771473</guid><author>fyang2007</author><pubDate>Mon, 08 Apr 2013 11:13:25 +0800</pubDate><description><![CDATA[Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息，进行图像剪切、旋转、缩放等操作，并可以指定格式保存图像文件。本文从应用的角度，着重介绍怎么用Bitmap来实现这些功能。

 

一、Bitmap的生成

1.1 BitmapFactory decode出Bitmap

    Bitmap实现在android.graphics包中。但是Bitm]]></description><category></category></item><item><title><![CDATA[Android界面View及ViewGroup]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/8653735</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/8653735</guid><author>fyang2007</author><pubDate>Sat, 09 Mar 2013 14:43:56 +0800</pubDate><description><![CDATA[2.1.0 View及ViewGroup类关系
Android View和ViewGroup从组成架构上看，似乎ViewGroup在View之上，View需要继承ViewGroup，但实际上不是这样的。 View是基类，ViewGroup是它的子类。这就证明了一点，View代表了用户界面组件的一块可绘制的空间块。每一个View在屏幕上占据一个长方 形区域。在这个区域内，这个VIEW对象负责图形绘]]></description><category></category></item><item><title><![CDATA[MatrixCursor和MergeCursor]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/8156396</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/8156396</guid><author>fyang2007</author><pubDate>Wed, 07 Nov 2012 10:18:00 +0800</pubDate><description><![CDATA[1、MatrixCursor创建记录


ContentProvider对外共享数据的时候的query()方法是需要一个cursor的，

但是如果没有数据库，而项目又需要从ContentProvider读取数据的时候怎么办？

更糟糕的是其他方法操作也都是需要cursor的。

此时就需要MatrixCursor了。相当有趣，它相当于为你模拟了一个表。





?]]></description><category></category></item><item><title><![CDATA[startActivityForResult与onActivityResult]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/8020728</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/8020728</guid><author>fyang2007</author><pubDate>Wed, 26 Sep 2012 14:21:10 +0800</pubDate><description><![CDATA[androidActivity之间的跳转不只是有startActivity(Intent i)的,startActivityForResult(Intent intent,
 int requestCode)也是常用的方法。



其作用是可以用onActivityResult(int requestCode, int resultCode, Intent data)方法获得请求Acti]]></description><category></category></item><item><title><![CDATA[AsyncTask的用法]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/8016326</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/8016326</guid><author>fyang2007</author><pubDate>Tue, 25 Sep 2012 11:49:15 +0800</pubDate><description><![CDATA[在开发Android应用时必须遵守单线程模型的原则： Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则： 
1. 不要阻塞UI线程 
2. 确保只在UI线程中访问Android UI工具包 
      当一个程序第一次启动时，Android会同时启动一个对应的主线程(Main Thread)，主线程主要负责处理与UI相关的事件，如：]]></description><category></category></item><item><title><![CDATA[利用createPackageContext()方法实现囊中探物]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/7999234</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/7999234</guid><author>fyang2007</author><pubDate>Thu, 20 Sep 2012 10:55:04 +0800</pubDate><description><![CDATA[Context有个createPackageContext方法，可以创建另外一个包的上下文，这个实例不同于它本身的Context实例，但是功能是一样的。


      这个方法有两个参数：
1.packageName  包名，要得到Context的包名
2.flags  标志位，有CONTEXT_INCLUDE_CODE和CONTEXT_IGNORE_SECURITY两个选项。]]></description><category></category></item><item><title><![CDATA[[Android]屏幕自适应布局]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/7974236</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/7974236</guid><author>fyang2007</author><pubDate>Thu, 13 Sep 2012 11:18:36 +0800</pubDate><description><![CDATA[http://www.eoeandroid.com/thread-157865-1-1.html




http://developer.android.com/guide/practices/screens_support.html




res目录下的文件夹有什么用？

我们可以看到在res目录下有drawable-hdpi, drawable-mdpi, draw]]></description><category></category></item><item><title><![CDATA[Android中关于dip和px以及转换的总结]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/7932137</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/7932137</guid><author>fyang2007</author><pubDate>Sat, 01 Sep 2012 14:25:59 +0800</pubDate><description><![CDATA[我们在页面布局的时候，经常会设置容器的长度，但是到底该使用哪个作为长度的单位而懊恼。在Android中支持的描述大小区域的类型有以下几种:

px(pixels)——像素：不同的设备显示效果相同，一般我们HVGA代表320x480像素，这个用的比较多。

dip(device independent pixels)——设备独立像素：这个和设备硬件有关，一般我们为了支持WCGA、HVGA和Q]]></description><category></category></item><item><title><![CDATA[Android Bitmap和Canvas学习笔记]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/7915985</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/7915985</guid><author>fyang2007</author><pubDate>Tue, 28 Aug 2012 14:22:07 +0800</pubDate><description><![CDATA[位图是我们开发中最常用的资源，毕竟一个漂亮的界面对用户是最有吸引力的。

1. 从资源中获取位图

可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图。

当然，首先需要获取资源：




Resources res=getResources();


复制代码
使用BitmapDrawable获取位图

  1.      使用]]></description><category></category></item><item><title><![CDATA[Android getDecorView用途——屏幕截图]]></title><link>https://blog.youkuaiyun.com/fyang2007/article/details/7912842</link><guid>https://blog.youkuaiyun.com/fyang2007/article/details/7912842</guid><author>fyang2007</author><pubDate>Mon, 27 Aug 2012 16:46:14 +0800</pubDate><description><![CDATA[正好做类似UCweb一样的页面管理的功能模块，贴出一起研究
　　ImageView iv = (ImageView) findViewById(R.id.ImageView01);
　　ImageView iv2 = (ImageView) findViewById(R.id.ImageView02);
　　ImageView iv3 = (ImageView) findViewById(R]]></description><category></category></item></channel></rss>