<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Kiven 每天都需要有所获，每天都需要进步.........]]></title><description><![CDATA[我不是最有天赋的，但我是最勤奋的]]></description><link>https://blog.youkuaiyun.com/hpc19950723</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hpc19950723]]></copyright><item><title><![CDATA[ContentProvider和BroadcastReceiver]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/77872649</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/77872649</guid><author>hpc19950723</author><pubDate>Wed, 06 Sep 2017 22:17:27 +0800</pubDate><description><![CDATA[ContentProvider一、概念特点      ContentProvider是四大组件之一,它并不能存储数据,只能为数据的存储或者添加等操作提供一个统一的接口,它可以供多个应用程序共享数据(跨进程数据的访问).在安卓设备中使用ContentProvider存储数据的应用有:通讯录、图片、音频等.同时也数据的变化也可以被监听到.二、优缺点优点:
      数据访问统一接口:不需要关注数据存储]]></description><category></category></item><item><title><![CDATA[如何解决aar中的第三方依赖无法调用问题]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/77773253</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/77773253</guid><author>hpc19950723</author><pubDate>Fri, 01 Sep 2017 15:00:04 +0800</pubDate><description><![CDATA[如何解决aar中的第三方依赖无法调用问题背景:      近日公司需要做一个信息流的项目,嵌入到已经存在app中,为了让信息流的模块进行独立,需求是将信息流模块打包成aar形式,单独集成到主项目中.问题:      在集成的过程中遇到了一些问题,如果将aar放到lib目录下,aar里面依赖的第三方库无法调用,因为编译aar的时候,并没有将第三方依赖的库编译到aar中,aar中只有源代码\资源文件等.]]></description><category></category></item><item><title><![CDATA[Android常用异常及解决方案]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/77755328</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/77755328</guid><author>hpc19950723</author><pubDate>Thu, 31 Aug 2017 21:56:55 +0800</pubDate><description><![CDATA[Android常用异常及解决方案1、什么是异常?      异常是指在程序运行中所出现的错误,这些错误会干扰到指令的正常执行,从而造成程序异常退出,这些异常出现的场景比如有:文件找不到,网络连接失败,非法参数等.2、异常来源      就Java语言来说,所有的异常都继承自Throwable
3、Android常见异常分类1-编译时错误
(eg:ClassNotFoundException/layo]]></description><category></category></item><item><title><![CDATA[Android Multidex原理及实现]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/77658191</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/77658191</guid><author>hpc19950723</author><pubDate>Mon, 28 Aug 2017 22:09:59 +0800</pubDate><description><![CDATA[Android Multidex原理及实现一、什么是分包,分包能解决什么问题?      正常apk打包后的文件目录是含有AndroidManifest.xml、R、resource.arcs(资源的索引)、assets、lib、classes.dex这几个模块,而分包后又是怎么样的情况呢?分包之后dex将会多出几个dex,出现classes2.dex,classes3.dex等. 
      分]]></description><category></category></item><item><title><![CDATA[大型企业所需掌握技术]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/77017074</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/77017074</guid><author>hpc19950723</author><pubDate>Wed, 09 Aug 2017 21:08:31 +0800</pubDate><description><![CDATA[1、彻底掌握Android多分包技术MultiDex-用Ant和Gradle分别构建（一）:http://blog.youkuaiyun.com/mynameishuangshuai/article/details/52703029
2、彻底掌握Android多分包技术MultiDex-用Ant和Gradle分别构建（二）:http://blog.youkuaiyun.com/mynameishuangshuai/arti]]></description><category></category></item><item><title><![CDATA[7月总结以及接下来的学习计划]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/75455547</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/75455547</guid><author>hpc19950723</author><pubDate>Thu, 20 Jul 2017 09:24:37 +0800</pubDate><description><![CDATA[7月总结以及接下来的学习计划      转眼间,7月又快过去了,6月还说好博客会继续写下去,可是一忙再忙又给延误了,自己的学习计划也没得到很好的落实.检讨中…..7月总结:      7月主要把时间都花在熟悉公司的项目中,由于开发的是SDK,跟业务相关联的比较多,需要去熟悉SDK的架构等等.这几天天天晚上加班到10点才回去,大部分都是在搞公司的东西,自己学习的时间比较少.想想公司还是挺人性化的,对我]]></description><category></category></item><item><title><![CDATA[6月总结]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/74139355</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/74139355</guid><author>hpc19950723</author><pubDate>Sun, 02 Jul 2017 17:19:21 +0800</pubDate><description><![CDATA[6月总结     六月到现在一直没有新的博客发布,原因是作为身处毕业季的我,6月可谓是即开心又悲伤的一个月,大家各奔东西,为了完成自己的梦想,有人去了北上广,有人去新二线城市,不管去何处,大家都怀揣着一颗美好的心,而我也经过5月和6月的努力进入了二三四五,相比刚出来实习的那个阶段,从一个懵懂的小少年渐渐地适应了这个社会,适应了周围的工作环境.这篇文章就不讲废话了,接下来我介绍下是如何做面试准备的.一]]></description><category></category></item><item><title><![CDATA[架构设计九之策略模式、迭代器模式]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71682356</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71682356</guid><author>hpc19950723</author><pubDate>Thu, 11 May 2017 19:41:30 +0800</pubDate><description><![CDATA[前言        这篇博客介绍策略模式以及迭代器模式策略模式定义        策略模式定义了一系列的算法，并将每一个算法封装起来，而且使他们之间可以相互替换，策略模式让算法独立于使它的客户独立而变化角色        环境(Context)角色:  持有一个Strategy的引用 
抽象策略(Strategy)角色  这是一个抽象角色，通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的]]></description><category></category></item><item><title><![CDATA[架构设计八之状态模式]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71536750</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71536750</guid><author>hpc19950723</author><pubDate>Wed, 10 May 2017 15:38:36 +0800</pubDate><description><![CDATA[前言        这篇博客继续学习状态模式。定义        当一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。又称状态对象模式，状态模式是对象的行为模式。角色        环境(Context)角色   上下文：定义客户端所感兴趣的接口，并且保留一个具体状态类的实例。这个定义了对象的当前状态
        抽象状态(State)角色 
定义一个接口，用以封装]]></description><category></category></item><item><title><![CDATA[架构设计七之解释器模式、模板模式、观察者模式]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71440902</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71440902</guid><author>hpc19950723</author><pubDate>Tue, 09 May 2017 12:12:52 +0800</pubDate><description><![CDATA[前言        这篇博客继续学习解释器、模板、观察者三种模式。解释器模式        解释器是一种用的比较少的行为模式，其提供了一种解释语言的语法，或者表达式的方式。该模式定义了一个表达式的接口。使用场景使用场景最为频繁的就是手机号码验证
移动：134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通：130、131、132、152、]]></description><category></category></item><item><title><![CDATA[架构设计六之命令模式]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71403253</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71403253</guid><author>hpc19950723</author><pubDate>Mon, 08 May 2017 09:50:22 +0800</pubDate><description><![CDATA[前言        定义：将请求封装成一个对象，从而让用户使用不同的请求吧客户端参数化。请求排队或者记录请求日志，以及支持可撤销的操作。模式的使用场景        1.  系统需要将请求调用者和请求接收者解耦，使得调用者和接收者不直接交互。
        2.  系统需要在不同的时间指定请求、将请求排队和执行请求。
        3.  系统需要支持命令的撤销(Undo)操作和恢复(Redo)]]></description><category></category></item><item><title><![CDATA[架构设计五之建造者模式和责任链模式]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71328206</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71328206</guid><author>hpc19950723</author><pubDate>Sun, 07 May 2017 14:22:00 +0800</pubDate><description><![CDATA[前言        建造者模式在设计模式中还算是一个用的比较多的设计模式，建造者设计模式的核心在于隐藏内部构建细节，通过外部的Builder来实现构建。Builder负责Product类对象的具体过程构建，Director负责指导Build，要求Builder按照其指定的顺序去完成Produt的构造。最后通过Builder返回建造后的结果。标准建造者模式/**
 * 建造者角色
 * 工人接口，定义]]></description><category></category></item><item><title><![CDATA[架构设计四之面向切面编程]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71250514</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71250514</guid><author>hpc19950723</author><pubDate>Sat, 06 May 2017 12:28:49 +0800</pubDate><description><![CDATA[前言        大家都知道OOP，它是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成(百度百科)。 
OP和AOP是什么关系呢？在OOP的世界中，问题或者功能都被划分到一个一个的模块里边。每个模块专心干自己的事情，模块之间通过设计好的接口交互。从图示来看，OOP世界中，最常见的表示比如：上面的图为Android Framework中的模块图，]]></description><category></category></item><item><title><![CDATA[架构设计三之app应用的启动过程分析]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71237163</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71237163</guid><author>hpc19950723</author><pubDate>Fri, 05 May 2017 19:29:29 +0800</pubDate><description><![CDATA[前言首先说一下看源码的方式，首先明确看源码的目的是为了更好的指导上层开发。 
看android的系统源码，重要的是理解整体的执行流程， 不要纠结于代码细节。太纠结于代码细节， 对指导上层开发并没有指导意义。从入口main()到Applicaiton的onCreate()方法被调用ActivityThread提供两个核心内部类 ApplicationThread和 Hpublic final clas]]></description><category></category></item><item><title><![CDATA[架构设计二之原型模式、单例模式]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71215379</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71215379</guid><author>hpc19950723</author><pubDate>Fri, 05 May 2017 16:43:32 +0800</pubDate><description><![CDATA[前言        上篇文章介绍了简单工厂模式、工厂方法模式以及抽象工厂模式，接下来就继续学习原型模式与单例模式:模式1、原型模式：        原型模式之前在Java设计模式的板块也讲过，这里再拿出来讲一下：原型模式属于创建型模式，用原型的实例指定创建对象的种类，并通过拷贝这些原型创建新的对象。通俗的意思：复制一个一模一样的对象出来。目的是为了保护最原始的那一份存档，隐藏复制过程。
具体的实现过]]></description><category></category></item><item><title><![CDATA[架构设计一之简单工厂、工厂方法模式]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71194879</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71194879</guid><author>hpc19950723</author><pubDate>Fri, 05 May 2017 12:35:46 +0800</pubDate><description><![CDATA[前言        今天开始正式步入了架构设计的学习海洋，架构设计更多的是站一个设计者的角度去看待问题，比如说一个三方框架，它其中肯定是用了很多设计模式，当设计者在最出设计的时候总会去考虑到代码的安全性，模块间的耦合度不能太高，当然上面也只是我个人的理解。
        学习架构方面的知识之前，我们得会去画UML图，因为当代码结构变复杂后，没有一个清楚的设计图，过段时间哪怕是设计者都会不清楚当时自]]></description><category></category></item><item><title><![CDATA[性能优化二十四之应用启动速度优化]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71170345</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71170345</guid><author>hpc19950723</author><pubDate>Thu, 04 May 2017 14:37:56 +0800</pubDate><description><![CDATA[前言        应用启动速度在日常开发中也是影响用户体验最重要的一环，市场上很多的应用启动的时候可能都会花上3，4秒，其实这是很影响用户体验的，用户等不了那么长的时间去等待界面加载，用户就会难免会卸载该应用，造成损失。1、应用启动方式:        1）冷启动：当直接从桌面上直接启动，同时后台没有该进程的缓存，这个时候系统就需要重新创建一个新的进程并且分配各种资源。
        2）热启动]]></description><category></category></item><item><title><![CDATA[性能优化二十三之Service进程防杀死]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71128354</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71128354</guid><author>hpc19950723</author><pubDate>Wed, 03 May 2017 17:22:29 +0800</pubDate><description><![CDATA[前言        Service作为四大组件之一很多安卓开发者对他肯定是又爱又恨，爱在它可以帮助我们去处理常驻后台的任务操作，比如说推送服务，心跳传输等，恨在当Servcie遇到360、腾讯管家之类的杀毒软件，变得脆弱，很容易被杀死，或者当用户手机锁屏会导致服务暂时停止运行。
        我们常用的进程守护的套路无外乎以下几种:
一、提高进程的优先级数值
        对于Service被系]]></description><category></category></item><item><title><![CDATA[性能优化二十二之dex热修复原理]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71107662</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71107662</guid><author>hpc19950723</author><pubDate>Wed, 03 May 2017 10:31:36 +0800</pubDate><description><![CDATA[前言        热修复作为当下热门的技术，在业界内比较著名的有阿里巴巴的AndFix、Dexposed属于阿里系，腾讯QQ空间的超级补丁技术和微信的Tinker属于腾讯系。最近阿里百川推出的HotFix热修复服务就基于AndFix技术，定位于线上紧急BUG的即时修复，这两大系的主要区别在哪儿呢？阿里系着重从底层C的二进制入手（详细还没有去了解），而腾讯系的着重从Java的类加载机制入手。说到这里]]></description><category></category></item><item><title><![CDATA[性能优化二十一之安装包性能优化]]></title><link>https://blog.youkuaiyun.com/hpc19950723/article/details/71080056</link><guid>https://blog.youkuaiyun.com/hpc19950723/article/details/71080056</guid><author>hpc19950723</author><pubDate>Tue, 02 May 2017 13:04:13 +0800</pubDate><description><![CDATA[前言        安装包性能优化为了减少应用程序安装包的大小，不仅仅可以降低用户的网络数据流量还减少了下载等待的时间。毋庸置疑，尽量减少程序安装包的大小是十分有必要的。通常来说，减少程序安装包的大小有两条规律：要么减少程序资源的大小，要么就是减少程序的代码量。下面从几个方面来介绍:
        1、图片压缩:
        图片：apk里面的资源图片,apk里的图片大小需要UI去进行压缩。]]></description><category></category></item></channel></rss>