<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Simon_Hu]]></title><description><![CDATA[   打渔还是晒网？这是一个问题。]]></description><link>https://blog.youkuaiyun.com/DayDayPlayPhone</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DayDayPlayPhone]]></copyright><item><title><![CDATA[[Android优化]跟内存泄漏说再见]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/78307816</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/78307816</guid><author>DayDayPlayPhone</author><pubDate>Sun, 22 Oct 2017 02:45:00 +0800</pubDate><description><![CDATA[饥饿让人充满智慧
说到内存泄漏导致OOM(out of memory·)很多人都觉得和自己的应用遥不可及，现在市场上开始出现6G RAM，8 GRAM内存泄漏那么一点点又怎样？其每台android机在出厂时就已经配置了单个APP内存的最大可用内存，所以6G甚至8GRAM 除了分配的自留地，其他都是公家地盘，你并不能利用起来，我们可以通过adb命令来查看当前设备配置的可用内存大小//当配置了heapg]]></description><category></category></item><item><title><![CDATA[[设计模式]职责链模式]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/78078591</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/78078591</guid><author>DayDayPlayPhone</author><pubDate>Sun, 24 Sep 2017 18:46:01 +0800</pubDate><description><![CDATA[开始写设计模式系列,希望自己可以坚持下来. 
  第七篇:职责链模式
什么是职责链模式关于职责链模式GOF是这样定义的：使多个对象都有机会处理请求，从而避免了请求的发送者和接受者之间额耦合关系。将这些对象连成一条链，并沿着这条链传递该请求，直到有对象处理它为止。简易实现Talk is cheap,我们来看下最为简易的职责链实现。 
抽象的处理者：package top.huyuxin.Chainof]]></description><category></category></item><item><title><![CDATA[[Android优化]使用SparseArray和ArrayMap代替HashMap]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/78014923</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/78014923</guid><author>DayDayPlayPhone</author><pubDate>Mon, 18 Sep 2017 00:24:33 +0800</pubDate><description><![CDATA[在Android开发时，我们使用的大部分都是Java的api，比如HashMap这个api，使用率非常高，但是对于Android这种对内存非常敏感的移动平台，很多时候使用一些java的api并不能达到更好的性能，相反反而更消耗内存，所以针对Android这种移动平台，也推出了更符合自己的api，比如SparseArray、ArrayMap用来代替HashMap在有些情况下能带来更好的性能提升。介绍它]]></description><category></category></item><item><title><![CDATA[[设计模式]状态模式]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/78009705</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/78009705</guid><author>DayDayPlayPhone</author><pubDate>Sun, 17 Sep 2017 13:11:07 +0800</pubDate><description><![CDATA[开始写设计模式系列,希望自己可以坚持下来.  
   第六篇:状态模式
什么是状态模式当一个对象的内在状态改变时允许改变其行为，这个对象看起来像是改变了其类。很多人都会疑问状态模式和策略模式的区别在哪？实际上状态模式和策略模式很相似，甚至他们的UML图都是一致的，那么他们的区别在哪呢？我们再来回想下策略模式，
策略模式：创建一个策略的抽象，在这个接口声明算法函数，创建不同的策略实现类来实现算法，在C]]></description><category></category></item><item><title><![CDATA[JAVA多线程（一）]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77860244</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77860244</guid><author>DayDayPlayPhone</author><pubDate>Wed, 06 Sep 2017 00:11:14 +0800</pubDate><description><![CDATA[突然整理这篇博客是同事碰到个多线程的问题，问我可我没回答上来。java多线程是面试必问，也是一个讲不完的话题，下面是一些我整理的知识点。加油！
进程与线程进程和线程都是系统的调度单位，但是相对于进程，线程则是系统调度的最小单位。对于一个程序来说，一个程序存在一个进程，但是可以存在多个线程，当进程结束，那么依赖他的线程也将全部结束。反之则不然。线程的创建在java中创建线程的方式主要有三种，先讲常用的]]></description><category></category></item><item><title><![CDATA[匿名内部类]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77743072</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77743072</guid><author>DayDayPlayPhone</author><pubDate>Thu, 31 Aug 2017 10:54:04 +0800</pubDate><description><![CDATA[在java提高篇—–详解内部类中对匿名内部类做了一个简单的介绍，但是内部类还存在很多其他细节问题，所以就衍生出这篇博客。在这篇博客中你可以了解到匿名内部类的使用、匿名内部类要注意的事项、如何初始化匿名内部类、匿名内部类使用的形参为何要为final。一、使用匿名内部类内部类匿名内部类由于没有名字，所以它的创建方式有点儿奇怪。创建格式如下：new 父类构造器（参数列表）|实现接口（）  
    {]]></description><category></category></item><item><title><![CDATA[[设计模式]策略模式]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77727295</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77727295</guid><author>DayDayPlayPhone</author><pubDate>Wed, 30 Aug 2017 23:31:55 +0800</pubDate><description><![CDATA[开始写设计模式系列,希望自己可以坚持下来. 
  第五篇:策略模式   
什么是策略模式　策略模式属于对象的行为模式。其用意是针对一组算法，将每一个算法封装到具有共同接口的独立的类中，从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 
策略模式还是很简单的就不写了，转载一篇很不错的^_^策略模式的结构　策略模式是对算法的包装，是把使用算法的责任和算法本身分割开来，委派]]></description><category></category></item><item><title><![CDATA[[设计模式]工厂模式]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77517127</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77517127</guid><author>DayDayPlayPhone</author><pubDate>Thu, 24 Aug 2017 01:04:34 +0800</pubDate><description><![CDATA[我们通常使用new来创建一个新的对象，但是也随之带来一系列问题，比如，许多复杂对象的创建需要一定的步骤，在创建对象的时候需要依赖别的对象，直接在ClassA 中创建ClassB的对象,那么代码的耦合强太高。什么是工厂模式工厂模式分为：
简单工厂模式（静态工厂模式） 
工厂方法模式 
抽象工厂模式
那他们三有什么区别呢？
简单工厂模式： 
一个抽象产品类，可以派生出多个具体产品类。 
一个工厂类。]]></description><category></category></item><item><title><![CDATA[[设计模式]原型模式]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77482934</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77482934</guid><author>DayDayPlayPhone</author><pubDate>Tue, 22 Aug 2017 17:20:21 +0800</pubDate><description><![CDATA[开始写设计模式系列,希望自己可以坚持下来.  
  第三篇:原型模式
什么是原型模式定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象.原型模式顾名思义也就是说是有一个样板的,以这个样板为原型.开发者从这个样板对象中复制出一个内部属性一致的对象.原型模式多用于创建复杂的或者构造耗时的对象,因此使用原型模式可以使得应用程序运行更加的高效.经典模式我们在说原型模式时先简易的实现一下原型模]]></description><category></category></item><item><title><![CDATA[[设计模式]建造者模式]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77283800</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77283800</guid><author>DayDayPlayPhone</author><pubDate>Thu, 17 Aug 2017 00:23:05 +0800</pubDate><description><![CDATA[开始写设计模式系列,希望自己可以坚持下来.  
  第二篇:建造者模式
什么是建造者模式建造者模式是一步一步创建一个复杂对象，允许用户不了解细节的情况下精细的控制对象的构造过程。使得复杂对象的构建与他的表示相分离，同样的构造过程可以创建不同的表示。经典模式在生活中我们经常买票，各种各样的票，我们这里要创建一个可以售卖多种票的程序。 
首先是产品Product，他是一个抽象类，他有各种票都有的特征，以]]></description><category></category></item><item><title><![CDATA[[设计模式]单例模式]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77164707</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/77164707</guid><author>DayDayPlayPhone</author><pubDate>Mon, 14 Aug 2017 18:02:24 +0800</pubDate><description><![CDATA[开始写设计模式系列,希望自己可以坚持下来. 
  第一篇:单例模式
单例模式是大家最为熟悉的设计模式也是大多数程序员接触的第一种设计模式,但是要真的去全面了解一波单例模式还是要点时间.什么是单例:确保某一个类在全局只有一个实例,最为常见的的场景就是全局变量以及全局的工具类,重复创建带来资源与性能的浪费.那么创建单例模式需要注意什么呢?
重写构造函数并声明为私有(private);
通过静态方法或者枚]]></description><category></category></item><item><title><![CDATA[Apk源码的加固(加壳)原理解析和实现]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/73446232</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/73446232</guid><author>DayDayPlayPhone</author><pubDate>Mon, 19 Jun 2017 00:30:43 +0800</pubDate><description><![CDATA[好久没写博客了，要深刻检讨下！前言： 
在Android中没有经过加密的Apk给人的感觉就是在裸奔，通过apktool,dex2jar,AndroidKill等各式各样的反编译工具就可以轻松的获取其smail代码，如这个叫SourceProject的helloworld程序被apktool反编译后，对于懂smail语法的逆向工程师来说就一览无余了。破解与反破解是相对的，所以我们尽可能的给自己的Apk]]></description><category></category></item><item><title><![CDATA[MVP的认识]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/72859202</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/72859202</guid><author>DayDayPlayPhone</author><pubDate>Sun, 04 Jun 2017 15:28:35 +0800</pubDate><description><![CDATA[为何MVP模式能在Android开发中大放异彩，我觉得很大一部分原因来源与传统的model-view的开发模式使得everything is connected with Activity。MVP开发模式使一部分的业务逻辑从Activity中抽取出来。
那MVP是怎样的呢？ 
我们先理清M(model)V(view)P(presenter)他们各自的职责
V(view)界面层：负责与用户交互展示数据]]></description><category></category></item><item><title><![CDATA[C# 中的委托和事件]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/68496840</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/68496840</guid><author>DayDayPlayPhone</author><pubDate>Thu, 30 Mar 2017 20:33:19 +0800</pubDate><description><![CDATA[原文地址:C# 中的委托和事件
引言
  委托 和 事件在 .Net Framework中的应用非常广泛，然而，较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿，过了这个槛的人，觉得真是太容易了，而没有过去的人每次见到委托和事件就觉得心里别（biè）得慌，混身不自在。本文中，我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framewo]]></description><category></category></item><item><title><![CDATA[[设计模式]接口代理实现Application的多继承]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/68062710</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/68062710</guid><author>DayDayPlayPhone</author><pubDate>Wed, 29 Mar 2017 11:50:26 +0800</pubDate><description><![CDATA[在工作中碰到一个场景,就是你APP的Application是需要继承自家的Application,但是你在接入别人的SDK时,有的sdk接入要求你的Application继承他家的Application,这就比较尴尬了.Java只能单继承这可怎么是好? 
接口代理就可以用上了. 
首先我们让清单文件声明的Multiapplication继承代理类ProxyApplication,通过super.的方]]></description><category></category></item><item><title><![CDATA[[读书笔记]被人熟知的Activity]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/56065956</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/56065956</guid><author>DayDayPlayPhone</author><pubDate>Mon, 20 Feb 2017 23:37:21 +0800</pubDate><description><![CDATA[好久没写博客了,最近找了份实习,各种事情乱七八杂,但是没写就是没写不能为自己找借口! 
今天2017年2月20日，在这立个flag,接下来每星期至少写一篇博客!工作笔记,读书笔记,不想成为工程师的码农不是好的程序员!正文:生命周期说到activity大家肯定都生命周期背的66的,那我们还是从生命周期讲开始,后面涉及一些要注意或则容易忽略的问题. 
activity常见的生命周期:
onCreate]]></description><category></category></item><item><title><![CDATA[[设计模式]代理模式在android中的使用]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/54670302</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/54670302</guid><author>DayDayPlayPhone</author><pubDate>Sun, 22 Jan 2017 19:01:09 +0800</pubDate><description><![CDATA[假如，我们现在要在每次启动一个activity之前都要打印一条信息。  
最笨的方式就是用一个BaseActivity集成Activity，但是，如果我们这个项目已经进行了N多年，想象一下，这得修改多少源码，且这破坏了我们的设计原则，我们尽量扩展而不是修改代码。那些已有的代码都是经历时间考验的，修改之后可靠性会下降。 
当我们启动一个Activity的时候，肯定都会调用startActivity**]]></description><category></category></item><item><title><![CDATA[Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/54631555</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/54631555</guid><author>DayDayPlayPhone</author><pubDate>Fri, 20 Jan 2017 15:18:25 +0800</pubDate><description><![CDATA[在Android中我们经常会用到ViewPager+Fragment组合。然而，有一个很让人头疼的问题就是，我们去加载数据的时候由于ViewPager的内部机制所限制，所以它会默认至少预加载一个。这让人很郁闷，所以，我就想到要封装一个Fragment来解决这个问题。 
  这里还解决一个问题就是在Android酷炫欢迎页播放视频,仿蚂蜂窝自由行和慕课网  
  这里感谢有一位网友提出了bug,就是在]]></description><category></category></item><item><title><![CDATA[Android Studio发布library到jCenter(问题集合)]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/53503856</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/53503856</guid><author>DayDayPlayPhone</author><pubDate>Wed, 07 Dec 2016 11:49:34 +0800</pubDate><description><![CDATA[烦心简单的事情折腾一天了,现在将碰到的问题集中写下,方便以后查询 
试过两种方法
gradle-bintray-plugin插件 
有点麻烦,不过能用 ,推荐篇文章:在AndroidStudio中，使用Gradle打包aar到JCenter仓库！完整版教程!填补各种坑
bintray-release插件 
还不错,推荐篇郭神的文章: Android 快速发布开源项目到jcenter
下面说下碰到的问]]></description><category></category></item><item><title><![CDATA[网站域名的相互绑定]]></title><link>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/53414113</link><guid>https://blog.youkuaiyun.com/DayDayPlayPhone/article/details/53414113</guid><author>DayDayPlayPhone</author><pubDate>Wed, 30 Nov 2016 21:31:14 +0800</pubDate><description><![CDATA[在当你拥有一个网站时,你肯定想过自己买个属于自己的域名解析到当前的网站,这样不管是自己还是别人都更容易记住,下面就以Github的博客网站域名与一个自己购买的域名相互绑定为例
在Github上绑定自定义域名 
先来到你Github博客的库,进入Settings 
 
来到Stttings下的Github pages下修改你自己的域名(默认没有修改是你的仓库名,如:/huyuxin95.github.]]></description><category></category></item></channel></rss>