<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csdn_eric_zhao的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csdn_eric_zhao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csdn_eric_zhao]]></copyright><item><title><![CDATA[Android正则表达式匹配字符串]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/55654642</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/55654642</guid><author>csdn_eric_zhao</author><pubDate>Sat, 18 Feb 2017 09:35:14 +0800</pubDate><description><![CDATA[在应用开发过程中，经常会碰到要检索出某个字符串中特定格式的字符，比如说微博@**被标记为蓝色，聊天时“[微笑]”被解析为表情等等，这就用到了正则表达式。 
规则可以查阅http://www.jb51.net/shouce/jquery1.82/regexp.html 
在Android中的应用：        // 匹配字符串中@***
        String REGEX = "@[\\u4e]]></description><category></category></item><item><title><![CDATA[热修复Tinker简单接入]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/55653128</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/55653128</guid><author>csdn_eric_zhao</author><pubDate>Sat, 18 Feb 2017 09:12:59 +0800</pubDate><description><![CDATA[废话不多说，现在网上有很多关于Tinker接入的文章 
推荐：http://blog.youkuaiyun.com/lmj623565791/article/details/54882693 张鸿洋的博客 
本篇文章主要说一下自己在接入过程中的心得一、Gradle方式接入： 
1.项目的build.gradle 下引入依赖：dependencies {
        classpath ('com.tence]]></description><category></category></item><item><title><![CDATA[Android资源引用中“？”和“@”区别]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/55094829</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/55094829</guid><author>csdn_eric_zhao</author><pubDate>Tue, 14 Feb 2017 09:30:24 +0800</pubDate><description><![CDATA[我们在开发应用程序引用资源时，一般会使用@drawable/**这种方式，偶尔也会碰到使用？attr/来引用的，其区别在于：1.@style/引用的资源是固定的，是直接引用资源目录下的实际资源 
   ？attr/代表主题属性，引用的资源，是可以跟随不同主题来改变的。因此？引用的资源必须在theme中声明2.自定义?attr/**：// 1.首先在attrs.xml中声明属性，format为refe]]></description><category></category></item><item><title><![CDATA[Toolbar实现沉浸式状态栏]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/55094585</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/55094585</guid><author>csdn_eric_zhao</author><pubDate>Tue, 14 Feb 2017 09:04:48 +0800</pubDate><description><![CDATA[沉浸式状态栏实现方式方法一：调整状态栏颜色和Toolbar背景色相同theme中设置
<item name="colorPrimaryDark">@android:color/white</item> 
但是此方法在使用DrawerLayout侧滑时，toolbar颜色会变暗，导致和状态栏颜色出现偏差，效果不佳。
方法二：类似网易云音乐状态栏全透明theme中设置<item name="androi]]></description><category></category></item><item><title><![CDATA[Android进程优先级oom_adj]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/53924969</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/53924969</guid><author>csdn_eric_zhao</author><pubDate>Thu, 29 Dec 2016 10:44:07 +0800</pubDate><description><![CDATA[当Android运行了很多进程后，由于内存不足，系统会杀掉一下不重要的进程，提供内存给更重要的进程使用。那么系统是如何对进程的“重要性“进行判定的呢？命令行中输入cat /proc/process_id/oom_adj 可以查看到某一进程的adj数值，系统就是根据这一数值来判定进程是否被杀或者保留。ADJ等级定义在frameworks/base/services/core/java/com/andr]]></description><category></category></item><item><title><![CDATA[Canvas绘图之PorterDuffXfermode]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/53101682</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/53101682</guid><author>csdn_eric_zhao</author><pubDate>Wed, 09 Nov 2016 16:44:19 +0800</pubDate><description><![CDATA[上一篇文章中简单介绍了一下Canvas绘图相关知识，留下了setXferMode未作介绍。此篇文章针对使用setXferMode中碰到的问题，做一个总结。很多开发者都知道，PorterDuffXfermode用来设置两个bitmap重叠时的绘制效果（据说Porter和Duff是最早提出图形混合概念的两个人），网上到处可以看到这张图~（dst表示底图，src表示要绘制的图）它对每种Mode的描述已经非]]></description><category></category></item><item><title><![CDATA[Android Handler, Looper浅析]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52872468</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52872468</guid><author>csdn_eric_zhao</author><pubDate>Thu, 20 Oct 2016 14:39:34 +0800</pubDate><description><![CDATA[直接翻译官方API文档：public class Handler extends Object概述Handler允许你发送或者处理与某个线程（Message Queue）相关联的Message或者是Runnable对象。每个Handler实例只能与一个线程（Message Queue）相关联。当你创建一个Handler时，它就与创建Handler所在的线程/线程Message Queue绑定在一起—]]></description><category></category></item><item><title><![CDATA[Android中的Service浅析]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52812859</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52812859</guid><author>csdn_eric_zhao</author><pubDate>Fri, 14 Oct 2016 08:54:04 +0800</pubDate><description><![CDATA[大家都知道，Android应用中包括四大组件，分别是Activity、Service、BroadcastReceiver和ContentProvider，那今天就来说一说服务——Service。如果说Activity是一个应用程序的脸面的话，那么Service就可以看做是应用的内在。为什么这么比喻呢，Activity主要负责与用户进行交互的动作，例如更新UI，响应用户点击等，而Service则处理一]]></description><category></category></item><item><title><![CDATA[Canvas、Paint绘图]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52780539</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52780539</guid><author>csdn_eric_zhao</author><pubDate>Mon, 10 Oct 2016 18:36:52 +0800</pubDate><description><![CDATA[最近看了一些绘图相关的知识，记录一下，方便查阅。绘图常用于自定义View的情况，可以根据需求绘制出相应的图案。一、CanvasCanvas持有（holds）所有的绘制操作，简单点说，canvas就是画布，所有的绘制都要在画布上进行。绘制操作需要四个基本的组件：1.一个执行所有绘制操作的画布canvas；2.一个持有所有像素的位图bitmap(可以理解为bitmap就是铺在canvas上的像素)；3.]]></description><category></category></item><item><title><![CDATA[Android使用RxJava浅析]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52701430</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52701430</guid><author>csdn_eric_zhao</author><pubDate>Thu, 29 Sep 2016 14:09:58 +0800</pubDate><description><![CDATA[首先说一下自己为什么使用到了RxJava，因为在处理网络异步数据的时候，我一般是使用Thread+Handler或者AsyncTask来实现，直到接触了RxJava后，竟然可以如此便利的进行网络请求以及数据处理..然后就一发不可收拾，写篇博文记录一下一，简介RxJava是一种响应式编程（个人理解），他有两个重要元素Observable（被观察者，事件源）和Subscriber（观察者）。Observ]]></description><category></category></item><item><title><![CDATA[Android内存泄漏分析]]></title><link>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52587533</link><guid>https://blog.youkuaiyun.com/csdn_eric_zhao/article/details/52587533</guid><author>csdn_eric_zhao</author><pubDate>Mon, 19 Sep 2016 17:14:10 +0800</pubDate><description><![CDATA[Android内存泄漏分析
什么是内存泄漏？
哪些情况会导致内存泄漏？
怎么分析查找内存泄漏？
一.什么是内存泄漏
  Android垃圾回收采用的是根搜索算法(GC Root Tracing)，从GC roots根节点开始对Heap进行遍历，搜索走过的路径叫做引用链（Reperence Chain），到最后，没有直接或间接被GC roots引用到的对象就是垃圾，需要被GC回收。 而内存泄露就是存在]]></description><category></category></item></channel></rss>