<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[树木]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/smc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smc]]></copyright><item><title><![CDATA[Node.js中的this关键字]]></title><link>https://blog.youkuaiyun.com/smc/article/details/47914271</link><guid>https://blog.youkuaiyun.com/smc/article/details/47914271</guid><author>smc</author><pubDate>Sun, 23 Aug 2015 23:12:34 +0800</pubDate><description><![CDATA[Node.js中，this这个关键字指代哪个对象，有时容易搞混。写个简单的程序测试看看。
function TestA() {
    this.v1 = "Monday";
    var v2 = "Tuesday";
    v3 = "Wednesday";

    this.func1 = function() {
        console.log("this is " + t]]></description><category></category></item><item><title><![CDATA[Node.js中“同步”的EventEmitter]]></title><link>https://blog.youkuaiyun.com/smc/article/details/47912737</link><guid>https://blog.youkuaiyun.com/smc/article/details/47912737</guid><author>smc</author><pubDate>Sun, 23 Aug 2015 22:37:04 +0800</pubDate><description><![CDATA[初看到这个模块，总觉得它就是用来管理消息队列的。毕竟很容易把它和Event loop、message queue这些词联系起来，EventEmitter的emit函数字面上也很类似Android中的sendMessage之类。而消息队列一般都是分成发送消息和处理消息两个部分，也就是异步的，因而自然而然就容易把EventEmitter看做是异步的，即把emit函数和on的回调当成是异步执行的。
 ]]></description><category></category></item><item><title><![CDATA[字节对齐（Alignment）]]></title><link>https://blog.youkuaiyun.com/smc/article/details/7738384</link><guid>https://blog.youkuaiyun.com/smc/article/details/7738384</guid><author>smc</author><pubDate>Wed, 11 Jul 2012 23:56:28 +0800</pubDate><description><![CDATA[平常说的字节对齐主要是指按地址对齐，也就是数据的存取地址具有某种相同的特性，即能被某个数据长度值整除。例如，32位（4字节）长的数据的存取地址能被4整除。



  字节对齐主要是硬件平台的要求，因为对齐的话硬件上实现起来比较简单。反过来说，如果不对齐，那么就有可能因为硬件不支持该操作而触发异常，或者硬件支持，但是实现起来相对比较复杂，导致存取效率不高。譬如32位平台，读取int型数据，如]]></description><category></category></item><item><title><![CDATA[字节序（Byte Endian）]]></title><link>https://blog.youkuaiyun.com/smc/article/details/7621389</link><guid>https://blog.youkuaiyun.com/smc/article/details/7621389</guid><author>smc</author><pubDate>Thu, 31 May 2012 21:09:01 +0800</pubDate><description><![CDATA[字节序，顾名思义，就是字节的顺序。如果一个基本数据类型由多个字节构成，那么这些字节在内存中就有一个存放顺序，这就是字节序。大致可以分成两类：大端字节序（Big Endian）和小端字节序（Little Endian）。大端字节序是高字节数据存放在低地址处，低字节数据存放在高地址处。小端则反过来，是低字节数据存放在低地址处，高字节数据存放在高地址处。因而相应的，大端取高字节数据比较方便（这样理论上从]]></description><category></category></item><item><title><![CDATA[Android的Handler]]></title><link>https://blog.youkuaiyun.com/smc/article/details/7495877</link><guid>https://blog.youkuaiyun.com/smc/article/details/7495877</guid><author>smc</author><pubDate>Tue, 24 Apr 2012 23:06:04 +0800</pubDate><description><![CDATA[说到Handler，要先说说Looper类。

  Looper类的对象是和线程绑定的，它的主要功能就是为该线程创建一个消息循环。也即不断地去查询消息队列中是否存在消息，如果有则取出并处理。本质上有点类似Windows SDK编程中最后加上的几行代码：
    MSG msg;
    while(GetMessage(&msg, NULL, 0, 0)) {
        Transla]]></description><category></category></item><item><title><![CDATA[Android的Resource]]></title><link>https://blog.youkuaiyun.com/smc/article/details/7443079</link><guid>https://blog.youkuaiyun.com/smc/article/details/7443079</guid><author>smc</author><pubDate>Mon, 09 Apr 2012 22:30:50 +0800</pubDate><description><![CDATA[Resource主要用于UI，通过它可以尽可能地把界面设计与逻辑编码分离开，减少关联性。
  这种Resource独立于代码的编程方式很早就有了，像VC可以把控件属性放在RC文件中，Java的ResourceBundle工具类可以从property file里读取属性值，GTKBuilder可以从XML文件中读取控件属性等等。Android主要是为此制定了一系列的规则，像什么资源该用什么形式来表]]></description><category></category></item><item><title><![CDATA[Android的Broadcast Receiver]]></title><link>https://blog.youkuaiyun.com/smc/article/details/7426902</link><guid>https://blog.youkuaiyun.com/smc/article/details/7426902</guid><author>smc</author><pubDate>Wed, 04 Apr 2012 23:49:35 +0800</pubDate><description><![CDATA[Broadcast Receiver最主要的功能还是处理系统事件。系统在启动完毕、电池电量发生变化、收到短信等等情况时都会发出系统事件，Receiver接收到这些事件并处理，它是应用和系统的一种交互接口（从概念上来说是Observer机制）。

  系统和应用是一对多的关系，所以系统发送事件时采用的是广播方式，而系统的这种广播通路是开放的，所以应用也可以通过它来广播发送自定义事件，这样一来就相]]></description><category></category></item><item><title><![CDATA[Android的Content Provider]]></title><link>https://blog.youkuaiyun.com/smc/article/details/7376091</link><guid>https://blog.youkuaiyun.com/smc/article/details/7376091</guid><author>smc</author><pubDate>Tue, 20 Mar 2012 23:47:32 +0800</pubDate><description><![CDATA[Content Provider和文件、数据库、Shared Preferences这些一样，提供了一种存取数据的方式。
  Content Provide的特点就是能够面向所有应用，也就是能跨应用，因而它的访问地址是统一编址的，也就是采用“content://...”这样的形式，而且每一个地址只能由唯一的Content Provider来处理。如果有多个Provider试图对应处理同一个地址，]]></description><category></category></item><item><title><![CDATA[Android的Service]]></title><link>https://blog.youkuaiyun.com/smc/article/details/7371384</link><guid>https://blog.youkuaiyun.com/smc/article/details/7371384</guid><author>smc</author><pubDate>Mon, 19 Mar 2012 23:56:03 +0800</pubDate><description><![CDATA[Service的特点是没有界面，不受用户打扰，概念上类似Linux的Daemon，在摆脱了与终端的联系之后，就能够长期在后台运行了。（当然，本质上Service只是一个对象和一些代码片段，和Activity一样，Service缺省运行在进程的主线程中，所以需要注意的是，如果Service有耗时操作还是需要创建另外的线程来完成的）



  由于没有界面，相比Activity，Service]]></description><category></category></item><item><title><![CDATA[Android的Activity]]></title><link>https://blog.youkuaiyun.com/smc/article/details/7366603</link><guid>https://blog.youkuaiyun.com/smc/article/details/7366603</guid><author>smc</author><pubDate>Sun, 18 Mar 2012 16:12:24 +0800</pubDate><description><![CDATA[Activity作为人机交互的界面，一般的应用都是有的。其最主要就是设计好界面，也就是布局，然后控制好互动。

  【布局】
  布局的话，就是设计一个View。不过只用一个View的话，实在过于复杂，本着简单化、层次化的意图，引入ViewGroup的概念。这样就可以把复杂的画面看成一棵View Tree，可以分解成用多个简单的View来构建。系统也因而可以预定义一些基本的View，或者叫W]]></description><category></category></item><item><title><![CDATA[查看Android平台代码]]></title><link>https://blog.youkuaiyun.com/smc/article/details/6860970</link><guid>https://blog.youkuaiyun.com/smc/article/details/6860970</guid><author>smc</author><pubDate>Mon, 10 Oct 2011 23:24:11 +0800</pubDate><description><![CDATA[如果想查看Android平台的代码，那么除了可以把代码Sync到本地之外，也可以直接在Google网站上查看。



[http://www.google.com/codesearch]


  譬如想看看Activity类的源码，就可以在【Package】一栏输入]]></description><category></category></item><item><title><![CDATA[说说Android平台]]></title><link>https://blog.youkuaiyun.com/smc/article/details/6857284</link><guid>https://blog.youkuaiyun.com/smc/article/details/6857284</guid><author>smc</author><pubDate>Sun, 09 Oct 2011 23:13:00 +0800</pubDate><description><![CDATA[整体上，Android平台和其他装有Java虚拟机的手机平台类似，都是底下是硬件和OS，然后上面是Java虚拟机和一些lib，再上面是一些应用。相对而言，Android平台是把Java虚拟机的作用范围扩大了，看起来倒有点纯Java平台的意思。当然，Android的虚拟机是Dalv]]></description><category></category></item></channel></rss>