<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tanyang93的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tanyang93</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tanyang93]]></copyright><item><title><![CDATA[Android-Camera Client/Server的binder IPC机制]]></title><link>https://blog.youkuaiyun.com/tanyang93/article/details/73869715</link><guid>https://blog.youkuaiyun.com/tanyang93/article/details/73869715</guid><author>tanyang93</author><pubDate>Thu, 29 Jun 2017 10:13:13 +0800</pubDate><description><![CDATA[Android—Camera Client/Server的binder IPC机制



        

        本文首先参考Android Binder IPC分析一文分析了Android Binder IPC通信机制过程及涉及到的各个子元素相关概念，从代码细节脱离出来，因而整体上把握Android
 binder IPC通信机制，是能够理解文章最后Camera Fra]]></description><category></category></item><item><title><![CDATA[一次IPC通信过程的几个步骤]]></title><link>https://blog.youkuaiyun.com/tanyang93/article/details/73793255</link><guid>https://blog.youkuaiyun.com/tanyang93/article/details/73793255</guid><author>tanyang93</author><pubDate>Tue, 27 Jun 2017 13:55:01 +0800</pubDate><description><![CDATA[一次IPC通信過程的幾個步驟







一次通信过程简单的说有下面5个步骤，第一眼看上去，肯定不知道什么玩意，多看几遍，慢慢看，其实是能理解的。
 

 
1. Client将数据封装成Parcel。 
（前面已经讲过啦）
2. Client process 发送 BC_TRANSACTION 命令协议到kernel，（Client跟kernel说，我要开始远程通信]]></description><category></category></item><item><title><![CDATA[Binder学习之——Android的MediaPlayer架构介绍]]></title><link>https://blog.youkuaiyun.com/tanyang93/article/details/73739589</link><guid>https://blog.youkuaiyun.com/tanyang93/article/details/73739589</guid><author>tanyang93</author><pubDate>Mon, 26 Jun 2017 14:15:30 +0800</pubDate><description><![CDATA[Android的MediaPlayer架构介绍

    本文主要介绍的是Android中很重要也最为复杂的媒体播放器（MediaPlayer）部分的架构。对于Android这样一个完整又相对复杂的系统，一个MediaPlayer功能的实现不在其具体的功能，而是具体功能如何适应Android系统Android MediaPlayer的主要具体实现在OpenCore的Player中，这部分不是本]]></description><category></category></item><item><title><![CDATA[Java常用设计模式]]></title><link>https://blog.youkuaiyun.com/tanyang93/article/details/73330858</link><guid>https://blog.youkuaiyun.com/tanyang93/article/details/73330858</guid><author>tanyang93</author><pubDate>Fri, 16 Jun 2017 14:04:44 +0800</pubDate><description><![CDATA[摘要： 一、单例模式（有的书上说叫单态模式其实都一样）该模式主要目的是使内存中保持1个对象。看下面的例子：方法一方法二synchronized ：/'sɪŋkrənaɪzd/ :Java语言的关键字，当它用来修饰一个方法或者一个代码块的时候，能够保证在同一时刻最多只有一个线程执行该段代码。

一、单例模式（有的书上说叫单态模式其实都一样）

该模式主要目的是使内存中保持1个对象。看下面的例]]></description><category></category></item><item><title><![CDATA[Android通过goToSleep休眠后，CountDownTimer遇到的问题]]></title><link>https://blog.youkuaiyun.com/tanyang93/article/details/73087741</link><guid>https://blog.youkuaiyun.com/tanyang93/article/details/73087741</guid><author>tanyang93</author><pubDate>Mon, 12 Jun 2017 09:50:48 +0800</pubDate><description><![CDATA[最近遇到一个问题，是在用CountDownTimer的时候，同时做goToSleep动作的话，CountDownTimer也会相应的暂停了，时间不准确了。

CDT代码如下所示：




Log如下：




但是我的应用明明是有获取了wakeup 锁的，但是还是会有在这种情况发生







最后发现通过查看PowerManager源码，看goToSle]]></description><category></category></item><item><title><![CDATA[Android系统休眠对程序的影响以及处理]]></title><link>https://blog.youkuaiyun.com/tanyang93/article/details/72959983</link><guid>https://blog.youkuaiyun.com/tanyang93/article/details/72959983</guid><author>tanyang93</author><pubDate>Fri, 09 Jun 2017 15:24:15 +0800</pubDate><description><![CDATA[Android系统在用户长时间不操作时，为了节省资源，系统会选择休眠。在休眠过程中自定义的Timer、Handler、Thread、Service等都会暂停。而有时候这种机制会影响到我们程序的正常运行。那如何避免系统休眠对我们程序的影响呢？
　　以下已Service服务为例说明在系统休眠的状态下如何唤醒系统并执行我们自定义的Service服务。
一、单次Service服务的开启
　　1、方法]]></description><category></category></item><item><title><![CDATA[运用适配器模式应对项目变化]]></title><link>https://blog.youkuaiyun.com/tanyang93/article/details/60139723</link><guid>https://blog.youkuaiyun.com/tanyang93/article/details/60139723</guid><author>tanyang93</author><pubDate>Fri, 03 Mar 2017 14:31:09 +0800</pubDate><description><![CDATA[在前一篇文章一个示例让你明白适配器模式中，详细介绍了适配器模式，本文以实际项目中遇到的问题来演示适配器模式的实际应用。


项目中使用的原有接口


原来的项目中使用到了一个类ESPMenu，该类的代码很简单：



[java] 
view plain 
copy


print?


public class ESPMenu {      private S]]></description><category></category></item><item><title><![CDATA[Android实现数据存储技术]]></title><link>https://blog.youkuaiyun.com/tanyang93/article/details/54341464</link><guid>https://blog.youkuaiyun.com/tanyang93/article/details/54341464</guid><author>tanyang93</author><pubDate>Wed, 11 Jan 2017 10:48:35 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/byxdaz/article/details/9708407]]></description><category></category></item></channel></rss>