<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Cai Yu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/caiyu_09</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; caiyu_09]]></copyright><item><title><![CDATA[Android9.0 Activity启动流程分析（三）]]></title><link>https://blog.youkuaiyun.com/caiyu_09/article/details/84837544</link><guid>https://blog.youkuaiyun.com/caiyu_09/article/details/84837544</guid><author>caiyu_09</author><pubDate>Sat, 08 Dec 2018 14:42:29 +0800</pubDate><description><![CDATA[文章目录1、Android屏幕层级1.1、Window和PhoneWindow的概念1.2、View和ViewRootImpl的概念2、ClientLiftCycleManager3、handleLaunchActivity3.1、CreatActivity3.2、setContentView4、handleResumeActivity
  本篇内容主要讲Window的描绘流程，在讲代码之前我们先了解一些基本概念。
1、Android屏幕层级











PhoneWindow
窗口的具体实现，譬]]></description><category></category></item><item><title><![CDATA[Android9.0 Activity启动流程分析（二）]]></title><link>https://blog.youkuaiyun.com/caiyu_09/article/details/84634599</link><guid>https://blog.youkuaiyun.com/caiyu_09/article/details/84634599</guid><author>caiyu_09</author><pubDate>Sat, 08 Dec 2018 14:39:08 +0800</pubDate><description><![CDATA[文章目录1、ActivityThread的main函数2. AMS的attachApplication函数2.1 Part-I2.2 Part-II2.2.1 ApplicationThread的bindApplication函数2.3 Part-III
  在Android9.0 Activity启动流程分析（一）中，我们最终分析到AMS通过zygote启动Activity对应的进程，接下来继续...]]></description><category></category></item><item><title><![CDATA[Android9.0 Activity启动流程分析（一）]]></title><link>https://blog.youkuaiyun.com/caiyu_09/article/details/83505340</link><guid>https://blog.youkuaiyun.com/caiyu_09/article/details/83505340</guid><author>caiyu_09</author><pubDate>Wed, 05 Dec 2018 15:41:09 +0800</pubDate><description><![CDATA[一、am命令
我们将利用am命令启动一个Activity，来分析Activity的启动流程。
am start -W -n com.android.settings/com.android.settings.Settings

-W：表示等待目标activity启动的返回结果
-n  ：后接component name用于指定启动的Activity
在shell中输入如上命令之后会得到如下返回结果...]]></description><category></category></item><item><title><![CDATA[Android跨进程通信Binder原理分析（二）]]></title><link>https://blog.youkuaiyun.com/caiyu_09/article/details/83178748</link><guid>https://blog.youkuaiyun.com/caiyu_09/article/details/83178748</guid><author>caiyu_09</author><pubDate>Fri, 19 Oct 2018 15:48:48 +0800</pubDate><description><![CDATA[文章目录1 Binder源代码分析1.1 Service的注册流程1.2 Service的获取流程1.3 Service的使用流程
1 Binder源代码分析
1.1 Service的注册流程
    Android 系统中将大量的核心服务以 Service 的形式来对外提供，Service 只有注册到 ServiceManager 后，Client 端才能通过 ServiceManager 获取...]]></description><category></category></item><item><title><![CDATA[Android跨进程通信Binder原理分析（一）]]></title><link>https://blog.youkuaiyun.com/caiyu_09/article/details/83059244</link><guid>https://blog.youkuaiyun.com/caiyu_09/article/details/83059244</guid><author>caiyu_09</author><pubDate>Fri, 19 Oct 2018 15:31:40 +0800</pubDate><description><![CDATA[文章目录1. Linux进程基础1.1 进程隔离1.2 用户空间/内核空间1.3 系统调用/内核态/用户态1.4 内核模块/驱动1.5 图解2. Binder的Client/Server通信模型3. 为什么要使用Binder3.1 安全方面3.2 性能方面（一次数据拷贝）
1. Linux进程基础
　　大家都知道Android是基于Linux内核的操作系统，在学习Binder通信之前需要了解一些L...]]></description><category></category></item><item><title><![CDATA[Android消息机制Handler原理分析]]></title><link>https://blog.youkuaiyun.com/caiyu_09/article/details/83007471</link><guid>https://blog.youkuaiyun.com/caiyu_09/article/details/83007471</guid><author>caiyu_09</author><pubDate>Thu, 11 Oct 2018 17:05:11 +0800</pubDate><description><![CDATA[文章目录App中Handler的使用
App中Handler的使用
我们都知道，AndroidUI是线程不安全的，如果在子线程中尝试进行UI操作，程序就有可能会崩溃。相信大家在日常的工作当中
都会经常遇到这个问题，解决的方案应该也是早已烂熟于心，即创建一个Message对象，然后借助Handler发送出去，之后在
Handler的handleMessage()方法中获得刚才发送的Message对象...]]></description><category></category></item><item><title><![CDATA[JAVA多线程安全的三大特性 + synchronized和volatile]]></title><link>https://blog.youkuaiyun.com/caiyu_09/article/details/82996301</link><guid>https://blog.youkuaiyun.com/caiyu_09/article/details/82996301</guid><author>caiyu_09</author><pubDate>Wed, 10 Oct 2018 17:11:58 +0800</pubDate><description><![CDATA[线程安全的三大特性
  在并发编程中，我们通常会遇到以下三个问题：原子性问题，可见性问题，有序性问题。我们先看具体看一下这三个概念：
1. 原子性
　　原子性是指一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断，要么就都不执行。
　　先来看一个例子：使用程序实现一个计数器，期望得到的结果是10000，代码如下：
import java.util.concurrent.Executo...]]></description><category></category></item></channel></rss>