<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[落魄影子]]></title><description><![CDATA[记录嵌入式技术生涯的点点滴滴！~~]]></description><link>https://blog.youkuaiyun.com/ab198604</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ab198604]]></copyright><item><title><![CDATA[android系统启动流程之SystemServer运行过程]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/132529032</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/132529032</guid><author>ab198604</author><pubDate>Sun, 27 Aug 2023 22:48:32 +0800</pubDate><description><![CDATA[是SystemServer中的一个非常重要的类，得力助手，SystemServer通过它管理各种Services,如AMS, WMS, PKMS等，并且这些服务必须封装成一个对象，这个类就是SystemService，也就是说SysermServiceManager管理的都是SystemService的类对象。系统各类服务需要封装的类，每一种系统服务都要直接或间接的继续这个SystemService类，成为一个SystemService的类对象，方便让SystemServiceManager统一管理。]]></description><category></category></item><item><title><![CDATA[APP调用bindService的跨进程调用过程]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/132508026</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/132508026</guid><author>ab198604</author><pubDate>Sat, 26 Aug 2023 10:03:15 +0800</pubDate><description><![CDATA[第5步：server收到schduleBindService()后不能直接把它的IBinder发给Client，它也只能通过AMS，所以它调用AMS的getService获取AMS服务。第7步：Server调用AMS的publishService服务，将Server的IBinder发送给Client,通过调用client的connected()接口。//拿到AMS的binder，然后调用它的publishService方法将Server端的binder送出去。//对象表示一个Service.]]></description><category></category></item><item><title><![CDATA[Android硬件访问服务框架代码编写]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/51397586</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/51397586</guid><author>ab198604</author><pubDate>Fri, 13 May 2016 18:37:09 +0800</pubDate><description><![CDATA[思路从最上层调用到底层编写，流程如下：


1 实现与APP直接对接的操作硬件的接口，这个最简单。
只需要实现AIDL文件（Android Interface Define Language)，其目的是让安卓系统自动帮我们实现对应用JAVA接口文件。
PS:可以搜索源码中的例子比如：IVibrator.aidl，修改成如下代码：
package.android.os

Interfac]]></description><category></category></item><item><title><![CDATA[C++回顾之友元]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/19204045</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/19204045</guid><author>ab198604</author><pubDate>Fri, 14 Feb 2014 17:13:52 +0800</pubDate><description><![CDATA[友元，友元函数与友元类]]></description><category></category></item><item><title><![CDATA[C++回顾之深浅拷贝、禁止拷贝、空类的默认成员]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/19125419</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/19125419</guid><author>ab198604</author><pubDate>Wed, 12 Feb 2014 18:36:43 +0800</pubDate><description><![CDATA[C++的深拷贝与浅拷贝，关于禁止拷贝，以及空类的大小，系统提供的空类的默认成员函数]]></description><category></category></item><item><title><![CDATA[C++回顾之const对象、const成员函数、mutable类型]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18980701</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18980701</guid><author>ab198604</author><pubDate>Sat, 08 Feb 2014 11:02:34 +0800</pubDate><description><![CDATA[总结const的各种用法，主要讲述const对象，及const 成员函数，还有mutable修饰的数据成员]]></description><category></category></item><item><title><![CDATA[C++回顾之static成员、static成员函数及类对象大小计算]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18978899</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18978899</guid><author>ab198604</author><pubDate>Sat, 08 Feb 2014 10:14:37 +0800</pubDate><description><![CDATA[static静态数据成员，static静态成员函数，static静态常量数据成员，类大小的计算原则等]]></description><category></category></item><item><title><![CDATA[C++回顾之拷贝构造函数]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18964267</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18964267</guid><author>ab198604</author><pubDate>Fri, 07 Feb 2014 20:14:06 +0800</pubDate><description><![CDATA[关于拷贝构造函数的使用方法及调用场景分析。]]></description><category></category></item><item><title><![CDATA[C++回顾之类数据成员的初始化]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18949131</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18949131</guid><author>ab198604</author><pubDate>Thu, 06 Feb 2014 14:46:54 +0800</pubDate><description><![CDATA[构造函数初始化列表，类中的普通对象成员初始化，const成员及引用成员的初始化方法。]]></description><category></category></item><item><title><![CDATA[C++回顾之构造函数与析造函数]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18948769</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18948769</guid><author>ab198604</author><pubDate>Thu, 06 Feb 2014 13:56:37 +0800</pubDate><description><![CDATA[构造函数，默认构造函数，析构函数，析构函数与delete等。]]></description><category></category></item><item><title><![CDATA[C++回顾之前向声明、嵌套类、局部类]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18947509</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18947509</guid><author>ab198604</author><pubDate>Thu, 06 Feb 2014 11:11:20 +0800</pubDate><description><![CDATA[关于前向声明，嵌套类，局部类的使用。]]></description><category></category></item><item><title><![CDATA[C++回顾之成员函数重载、类与结构体、this指针]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18946457</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18946457</guid><author>ab198604</author><pubDate>Thu, 06 Feb 2014 09:44:44 +0800</pubDate><description><![CDATA[关于内联成员函数，成员函数重载，类与结构体的区别，以及this指针的原理]]></description><category></category></item><item><title><![CDATA[C++回顾之内联函数及新类型转换运算符]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18941165</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18941165</guid><author>ab198604</author><pubDate>Wed, 05 Feb 2014 20:39:57 +0800</pubDate><description><![CDATA[关于内联函数及类型转换运算符说明,const_cast, static_cast等]]></description><category></category></item><item><title><![CDATA[C++回顾之引用]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18938441</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18938441</guid><author>ab198604</author><pubDate>Wed, 05 Feb 2014 17:26:27 +0800</pubDate><description><![CDATA[下面讨论引用的相关内容：
        1 引用的概念
        2 const引用
        3 引用作为参数传递
        4 引用作为函数返回值
        5 引用与指针的区别]]></description><category></category></item><item><title><![CDATA[C++回顾之开篇(bool, const限定符,#define, 结构内存对齐)]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/18762329</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/18762329</guid><author>ab198604</author><pubDate>Sat, 25 Jan 2014 09:45:51 +0800</pubDate><description><![CDATA[关于bool类型、const限定符使用、const与#define定义常变量的区别、结构体内存对齐的规则]]></description><category></category></item><item><title><![CDATA[Model数据模型的检索查询]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/12837737</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/12837737</guid><author>ab198604</author><pubDate>Fri, 18 Oct 2013 17:50:51 +0800</pubDate><description><![CDATA[一旦创建了数据模型，我们可以利用django给我们提供的数据库抽象接口API来实现对象的创建，检索，更新或删除操作，使用非常方便。本文前提有以下数据模型：

class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()

    def __unico]]></description><category></category></item><item><title><![CDATA[models数据模型学习笔记]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/12655765</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/12655765</guid><author>ab198604</author><pubDate>Sat, 12 Oct 2013 18:48:59 +0800</pubDate><description><![CDATA[关于Django学习过程中的关于数据模型models的笔记，主要来自dnango官方文档，进行一些记录]]></description><category></category></item><item><title><![CDATA[基于Twisted的网络服务器编写]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/8988352</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/8988352</guid><author>ab198604</author><pubDate>Wed, 29 May 2013 11:03:43 +0800</pubDate><description><![CDATA[开始

此文档解释了如何使用twisted来实现网络协议栈的解析和TCP服务的处理。(相同的代码可以在SSL和Unix socket servers中复用。)

protocol处理类一般从twisted.internet.protocol.Protocol中继承为子类，大多数的protocol handlers要么从这个类继承，或者从相应的子类中再继承。Protocol类的一个实例是每次]]></description><category></category></item><item><title><![CDATA[用python编写网页爬虫]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/8919254</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/8919254</guid><author>ab198604</author><pubDate>Mon, 13 May 2013 09:47:51 +0800</pubDate><description><![CDATA[一、前期准备
        为了完成一个网页爬虫的小程序，需要有以下准备：
        1 了解基本的http协议
        2 urllib2库接口熟悉
        3 熟悉python正则表达式
        
        二、程序编写思路
        这里只是实现一个基本的网页爬虫程序，它的基本思路如下：
        1 寻找到需要抓取的网页，查]]></description><category></category></item><item><title><![CDATA[linux内核如何管理进程]]></title><link>https://blog.youkuaiyun.com/ab198604/article/details/8910193</link><guid>https://blog.youkuaiyun.com/ab198604/article/details/8910193</guid><author>ab198604</author><pubDate>Fri, 10 May 2013 16:02:42 +0800</pubDate><description><![CDATA[“进程”有诸多的定义，在许多的教材资料上，其定义是一个程序的执行实例，这不无道理，也有的人认为它是程序处理所描述的所有数据结构的集合。这里不深究其定义，如果换个角度而言，进程就好像我们人类，他们被产生，它们有自己的生命周期，尽管生命周期的长短不一，从几毫秒至几秒，甚至几个月，几年。与人类的真正区别就在于它们没有性别之分。
        从linux内核观点上来看，进程是内核所分配的系统资源的一]]></description><category></category></item></channel></rss>