<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[羊之草叶的专栏]]></title><description><![CDATA[书山有路勤为径，学海无涯苦作舟！]]></description><link>https://blog.youkuaiyun.com/xifens</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xifens]]></copyright><item><title><![CDATA[HTTPS的理解]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/87897103</link><guid>https://blog.youkuaiyun.com/xifens/article/details/87897103</guid><author>xifens</author><pubDate>Mon, 23 Sep 2019 15:23:34 +0800</pubDate><description><![CDATA[一个Cipher Suites（加密算法套件）是以下4个算法的组合：

Authentication（认证）算法：有RSA，ECDSA，DH等；
Encryption（加密）算法：AES-128, AES-256, AESGCM256等；
Message Authentication Code（消息认证, MAC）算法：有AEAD, SHA1, SHA256等；
Key Exchange（密钥交换...]]></description><category></category></item><item><title><![CDATA[Android中SharedPreferences的理解]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/78253512</link><guid>https://blog.youkuaiyun.com/xifens/article/details/78253512</guid><author>xifens</author><pubDate>Mon, 16 Oct 2017 19:59:39 +0800</pubDate><description><![CDATA[SharedPreferences的创建通过Context的getSharedPreferences(String name, int mode)返回创建的SharedPreferences.]]></description><category></category></item><item><title><![CDATA[从截屏调用功能看Android Binder的调用流程]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/77942961</link><guid>https://blog.youkuaiyun.com/xifens/article/details/77942961</guid><author>xifens</author><pubDate>Tue, 12 Sep 2017 11:11:39 +0800</pubDate><description><![CDATA[以截屏功能为例，分析一下Android中Binder通信的流程。class ISurfaceComposer: public IInterface {
    DECLARE_META_INTERFACE(SurfaceComposer);    // flags for setTransactionState()
    enum {
        eSynchronous = 0x01,]]></description><category></category></item><item><title><![CDATA[深入浅出Android消息通信机制]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/77206542</link><guid>https://blog.youkuaiyun.com/xifens/article/details/77206542</guid><author>xifens</author><pubDate>Wed, 16 Aug 2017 08:01:10 +0800</pubDate><description><![CDATA[消息通信是Android系统中使用相当普遍的一种线程间通信方式。既然是线程间的通信，就一定存在共享的对象，一定需要处理线程间的同步。本文对Handler、Looper和MessageQueue所实现的消息通信机制做深入的剖析。 
 
图1. Android消息机制的框架



一、Handler

Handler用于发送和处理Message和Runnable对象（两者统称为消息），即Handler]]></description><category></category></item><item><title><![CDATA[Android中MediaCodec的使用]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/77115875</link><guid>https://blog.youkuaiyun.com/xifens/article/details/77115875</guid><author>xifens</author><pubDate>Sat, 12 Aug 2017 14:01:52 +0800</pubDate><description><![CDATA[一、主屏幕信息的获取 
SurfaceComposerClient类提供了获取主屏幕信息的方法，获取结果保存在DisplayInfo结构体中，如果要监听屏幕方向变化，则可以轮询getDisplayInfo( )函数来实现。sp<IBinder> mainDpy = SurfaceComposerClient::getBuiltInDisplay(
        ISurfaceComposer::]]></description><category></category></item><item><title><![CDATA[一篇讲述Android图像合成的文章]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/77073970</link><guid>https://blog.youkuaiyun.com/xifens/article/details/77073970</guid><author>xifens</author><pubDate>Thu, 10 Aug 2017 21:46:27 +0800</pubDate><description><![CDATA[Android图形显示系统——下层显示4：图层合成上（合成原理与3D合成） 
https://yq.aliyun.com/articles/57390?spm=5176.100239.blogcont57389.9.8YGrd1]]></description><category></category></item><item><title><![CDATA[Android中的GraphicBuffer的分配]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/76713848</link><guid>https://blog.youkuaiyun.com/xifens/article/details/76713848</guid><author>xifens</author><pubDate>Sat, 05 Aug 2017 11:31:33 +0800</pubDate><description><![CDATA[Android中图像缓冲区的分配介绍]]></description><category></category></item><item><title><![CDATA[C++沉思录“字符图像”的程序分析]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/76358780</link><guid>https://blog.youkuaiyun.com/xifens/article/details/76358780</guid><author>xifens</author><pubDate>Sat, 29 Jul 2017 21:43:26 +0800</pubDate><description><![CDATA[《Ruminations on C++》一书中有一例子，要求显示“character strings“为“framed pictures”。一、题目给定一个字符串数组，编写程序，依次支持以下功能： 
1. 显示“字符图像”： 
按每行显示一个字符串的方式，打印出矩形字符阵列。矩形高为字符串数组的大小，宽为最长的字符串长度。 
2. 对“字符图像”加框：上下左右各加一行； 
3. 对两副“字符图像”横]]></description><category></category></item><item><title><![CDATA[Android中Graphic的理解]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/75933587</link><guid>https://blog.youkuaiyun.com/xifens/article/details/75933587</guid><author>xifens</author><pubDate>Sun, 23 Jul 2017 17:08:11 +0800</pubDate><description><![CDATA[APP进程private int relayoutWindow(WindowManager.LayoutParams params, int viewVisibility,
            boolean insetsPending) throws RemoteException {
        float appScale = mAttachInfo.mApplicationScale]]></description><category></category></item><item><title><![CDATA[Android中Looper类的设计与实现]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/73441229</link><guid>https://blog.youkuaiyun.com/xifens/article/details/73441229</guid><author>xifens</author><pubDate>Sun, 18 Jun 2017 22:08:12 +0800</pubDate><description><![CDATA[Android系统中Looper类的设计]]></description><category></category></item><item><title><![CDATA[wait()和waitpid()的理解]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/73438098</link><guid>https://blog.youkuaiyun.com/xifens/article/details/73438098</guid><author>xifens</author><pubDate>Sun, 18 Jun 2017 20:37:56 +0800</pubDate><description><![CDATA[#include <sys/wait.h>
pid_t wait(int *stat_loc);
pid_t waitpid(pid_t pid, int *stat_loc, int options);wait()和waitpid()函数用于获取调用者子进程的状态信息。可以通过设置参数来获取已中止(terminated)或结束(stopped)的子进程的状态信息。如果两个或多个子进程的状态信息同时]]></description><category></category></item><item><title><![CDATA[ffmpeg命令使用总结]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/73188987</link><guid>https://blog.youkuaiyun.com/xifens/article/details/73188987</guid><author>xifens</author><pubDate>Tue, 13 Jun 2017 17:43:08 +0800</pubDate><description><![CDATA[ffmpeg的使用选项：-f formats  
        alaw            PCM A-law 
        f32be           PCM 32-bit floating-point big-endian 
        f32le           PCM 32-bit floating-point little-endian 
        f64be]]></description><category></category></item><item><title><![CDATA[应用程序请求注册对Input事件的监听]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/58340027</link><guid>https://blog.youkuaiyun.com/xifens/article/details/58340027</guid><author>xifens</author><pubDate>Mon, 27 Feb 2017 23:49:43 +0800</pubDate><description><![CDATA[Android系统的Input子系统分析]]></description><category></category></item><item><title><![CDATA[linux中的线程本地存储pthread_key_t和pthread_once]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/53730678</link><guid>https://blog.youkuaiyun.com/xifens/article/details/53730678</guid><author>xifens</author><pubDate>Sun, 18 Dec 2016 22:15:40 +0800</pubDate><description><![CDATA[Linux中提供了这样一种机制：同一进程的多个线程之间既可以共享某个全局变量，也可以做到每一个线程单独使用它，独立设置、获取它的值，而不影响别的线程的使用。这种机制就是线程本地存储(Thread Local Storage, TLS)。#include <pthread.h>int pthread_key_create(pthread_key_t *key, void (*destructor)(v]]></description><category></category></item><item><title><![CDATA[socketpair的用法和理解]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/53714814</link><guid>https://blog.youkuaiyun.com/xifens/article/details/53714814</guid><author>xifens</author><pubDate>Sat, 17 Dec 2016 22:09:33 +0800</pubDate><description><![CDATA[socketpair()函数的声明：#include <sys/types.h>
#include <sys/socket.h>
int socketpair(int d, int type, int protocol, int sv[2])；socketpair()函数用于创建一对无名的、相互连接的套接子。如果函数成功，则返回0，创建好的套接字分别是sv[0]和sv[1]；否则返回-1，错误码保存]]></description><category></category></item><item><title><![CDATA[Anroid中强指针和弱智针介绍]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/52903805</link><guid>https://blog.youkuaiyun.com/xifens/article/details/52903805</guid><author>xifens</author><pubDate>Sun, 23 Oct 2016 19:25:00 +0800</pubDate><description><![CDATA[Android中强弱指针的总结]]></description><category></category></item><item><title><![CDATA[如何搭建一个独立博客——简明Github与Hexo教程]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/52823806</link><guid>https://blog.youkuaiyun.com/xifens/article/details/52823806</guid><author>xifens</author><pubDate>Sat, 15 Oct 2016 16:25:00 +0800</pubDate><description><![CDATA[前言
买过域名和主机，折腾过wordpress，个人博客也搭建起来了，本来是准备写技术文章，分享，但是折腾那些东西花费了太多的时间，认真写作反而少了。现在决定换成hexo写博客，专注写作分享，少折腾。
本文主要参考cnfeat的《如何搭建一个独立博客——简明Github Pages与Hexo教程》,原文很详细，
还有Zippera的《hexo系列教程》
为什么选择Hexo
hexo是一个]]></description><category></category></item><item><title><![CDATA[linux共享内存的理解]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/52772260</link><guid>https://blog.youkuaiyun.com/xifens/article/details/52772260</guid><author>xifens</author><pubDate>Sun, 09 Oct 2016 23:36:28 +0800</pubDate><description><![CDATA[linux共享内存理解的一些资料]]></description><category></category></item><item><title><![CDATA[欢迎使用优快云-markdown编辑器]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/52769823</link><guid>https://blog.youkuaiyun.com/xifens/article/details/52769823</guid><author>xifens</author><pubDate>Sun, 09 Oct 2016 19:43:19 +0800</pubDate><description><![CDATA[MarkDown实例本Markdown编辑器使用[StackEdit][6]修改而来，用它写博客，将会带来全新的体验哦：
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
代码示例：service installd /system/bin/installd
    cla]]></description><category></category></item><item><title><![CDATA[epoll多线程的例子]]></title><link>https://blog.youkuaiyun.com/xifens/article/details/52273431</link><guid>https://blog.youkuaiyun.com/xifens/article/details/52273431</guid><author>xifens</author><pubDate>Mon, 22 Aug 2016 07:53:30 +0800</pubDate><description><![CDATA[/*
 ============================================================================
 Name        : epoll_multithreads.c
 Author      : 
 Version     :
 Copyright   : Your copyright notice
 Description : ]]></description><category></category></item></channel></rss>