<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[没有翅膀的鱼]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sunwolfaaa</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sunwolfaaa]]></copyright><item><title><![CDATA[SharePreferences实现]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/77844596</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/77844596</guid><author>sunwolfaaa</author><pubDate>Mon, 04 Sep 2017 22:58:33 +0800</pubDate><description><![CDATA[android中的文件存储方式有三种读写数据库，读写本地文件，读写SharePreferences。
其实读写SharePreferences也属于读写本地文件，android为了方便开发者存储轻量的数据，实现了这个工具。其实android为了方便开发者的使用，提供了很多类似的工具，最典型的就是SyncTask.
好，闲话不多说，今天聊聊SharePreferences的实现原理以及andro]]></description><category></category></item><item><title><![CDATA[scaleType分析]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/77838127</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/77838127</guid><author>sunwolfaaa</author><pubDate>Mon, 04 Sep 2017 15:37:52 +0800</pubDate><description><![CDATA[android的scaleType有center，centerCrop，centerInside，fit，fitCenter，fitStart，fitEnd，Matrix。文章分别分析这接种模式的含义与实现算法。


Center
center不放缩，超出dst显示图片中间的元素，代码中是将canvas的坐标平移到能够将图片显示到屏幕中的位置
     
mDrawMatrix = m]]></description><category></category></item><item><title><![CDATA[死锁的条件]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/77837871</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/77837871</guid><author>sunwolfaaa</author><pubDate>Mon, 04 Sep 2017 15:19:15 +0800</pubDate><description><![CDATA[1.互斥条件，一个资源只能被一个资源使用，比如锁
2.请求与保持，一个线程不会因为阻塞而放弃自己已经拥有的资源
3.不可剥夺原则
4.循环等待，若干线程形成了收尾相连的循环等待


可重入锁 与 不可重入锁：
可重入锁表示的是一个线程可以进入他已经获取的锁锁定的任何临界区域，一个线程对应一个锁
不可重入锁表示的是一个线程必须在锁释放之后才能进行相同锁锁定的临界区域]]></description><category></category></item><item><title><![CDATA[activity的生命周期]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/49756417</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/49756417</guid><author>sunwolfaaa</author><pubDate>Tue, 10 Nov 2015 10:43:46 +0800</pubDate><description><![CDATA[1.单个activity的生命周期图
activity是android的四大组件之一，负责界面内容，给用户提供交互接口。映射到mvc模型中，activity相当于view。图1.1描述了activity的基本的生命周期。



如图所示，activity在存在期间，会回调onCreate，onStart，onResume，onPause， onStop，onRestart，onSaveI]]></description><category></category></item><item><title><![CDATA[android的TextView的TextWatcher使用]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/49563711</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/49563711</guid><author>sunwolfaaa</author><pubDate>Sun, 01 Nov 2015 23:13:28 +0800</pubDate><description><![CDATA[TextWatcher是一个文本变化监听接口，定义了三个接口，分别是beforeTextChanged,onTextChanged,afterTextCahnged.
TextWatcher通常与TextView结合使用，以便在文本变化的不同时机做响应的处理。TextWatcher中三个回调接口都是使用了InputFilter过滤器过滤之后的文字字符作为新的字符对象。
使用方法


mT]]></description><category></category></item><item><title><![CDATA[网易笔试题，实现一个hashtable，使得他的set，get，setAll时间复杂度都是O()]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39990309</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39990309</guid><author>sunwolfaaa</author><pubDate>Sat, 11 Oct 2014 10:51:44 +0800</pubDate><description><![CDATA[public class HashTable {
public class Entry {
String value;
int
currentSet;
}


private Entry[] 
list = new Entry[10];
int
globalSet;
String globalValue;


public void set(int key, Stri]]></description><category></category></item><item><title><![CDATA[Volley网络框架详解]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39960891</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39960891</guid><author>sunwolfaaa</author><pubDate>Fri, 10 Oct 2014 13:27:48 +0800</pubDate><description><![CDATA[在Android中，如果需要处理多个数据量小得请求，那么建议使用Volley框架，以下是对该框架的分析。
volley中有一个requestqueue类来负责请求的添加跟分派，可以通过Volley类来获得一个requestqueue对象的实例，Volley中的代码

public static RequestQueue newRequestQueue(Context context, Htt]]></description><category></category></item><item><title><![CDATA[android 的dp sp px]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39944795</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39944795</guid><author>sunwolfaaa</author><pubDate>Fri, 10 Oct 2014 00:19:12 +0800</pubDate><description><![CDATA[当屏幕density=240时，使用hdpi 标签的资源 当屏幕density=160时，使用mdpi标签的资源 当屏幕density=120时，使用ldpi标签的资源。 不加任何标签的资源是各种分辨率情况下共用的。 布局时尽量使用单位dip，少使用px

 

dp与px换算公式：

pixs =dips * (densityDpi/160). 

dips=(pixs*160)]]></description><category></category></item><item><title><![CDATA[android的touch事件详解]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39915707</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39915707</guid><author>sunwolfaaa</author><pubDate>Thu, 09 Oct 2014 01:23:45 +0800</pubDate><description><![CDATA[android的视图组件分为有子组件的viewgroup 和 没有子组件的view。
view]]></description><category></category></item><item><title><![CDATA[动态规划]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39856683</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39856683</guid><author>sunwolfaaa</author><pubDate>Tue, 07 Oct 2014 18:38:44 +0800</pubDate><description><![CDATA[动态规划博大精深，想完全掌握是很难的，不过我们可以从一些简单的例子之中去体会她的奥妙。

不说废话、先来一个简单的例子吧：

longest path in DAG

Problem: 
Given a weighted directed acyclic graph  G=(V, E),  an vertex v,  where each edge is assigned an in]]></description><category></category></item><item><title><![CDATA[2个有序数组，寻找他们合并之后的中位数]]></title><link>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39668681</link><guid>https://blog.youkuaiyun.com/sunwolfaaa/article/details/39668681</guid><author>sunwolfaaa</author><pubDate>Mon, 29 Sep 2014 13:47:14 +0800</pubDate><description><![CDATA[public static int getMiddle(int[] sortA, int[] sortB) {
if (sortA == null && sortB == null) {
throw new NullPointerException();
} else if (sortA == null || sortB == null) {
return (sortA == null) ]]></description><category></category></item></channel></rss>