1. Handler Looper MessageQueue 详解

    前言 一直对Android的Handler机制好奇,搞不清Handler,Looper,MessageQueue,Message之间的关系,近日对其做了一个深入研究,和大家分享一下。

  2. APK ROM 签名原理

    前言 这些天有人问我关于APK或者ROM签名的原理,因为先前接触过签名的东西,就想当然地认为在META-INF下存在3个文件, 一个是清单文件MANIFEST.MF,一个是签名后的CERT.SF,一个是公钥文件CERT.RSA,网上不少资料也是这样的观点。后来查看了签名工具的源代码才发现大错特错,CERT.SF根本不是用私钥对MANIFSET.MF签名后的文件,只是对MANIFEST.MF的每个条目再次计算摘要后的文件。现在想想凡事不可轻易断言,还是实事求是才能找到真理。接下来将根据源码详细分析APK或者ROM签名的原理。

  3. Android系统启动过程详解

    前言 一直想研究Android完整的启动过程,网上看了不少资料,也看了书上的一些说明,对这些观点有些怀疑,于是自己分析了系统启动的完整过程。从内核启动第一个用户程序init开始说起,直到Home应用的启动,每一步都有源代码展示。希望能解除读者对Android系统启动过程中的困惑,若有什么疑问,欢迎留言交流。本研究基于CM10.1源码,读者若能对照源代码查看效果会更好。

  4. 漫谈设计模式–GOF23种设计模式

    GOF共23种设计模式,实际应用中还有一种非常简单的设计模式,并且经常被使用,它就是简单工厂。现将对这24种设计模式的体会记录如下:

  5. 漫谈设计模式–设计原则

    研磨设计模式中说到,设计模式是指在软件开发中,经过验证的,用于解决特定环境下,重复出现的,特定问题的解决方案。也就是说,设计模式是一种解决方案,是解决特定问题的一种方法,一种手段。前人在遇到这类问题时,使用这样一种解决方案,便可解决这类特定问题,因此也是前人的经验总结。

  6. 漫谈设计模式–前言

    最早接触设计模式还在大四的一个课题设计时,有同学从校外实习回来,告诉我设计模式很牛逼,然后告诉了我什么是单例模式,就是说保证程序里类的实例只有一个,当时我想我设计的程序,某些类也只有一个实例,是不是就意味着我使用了单例模式呢,他笑了,说这根本就不是单例模式。那会我是在client处只创建了某个类的实例,用来与数据库交互,创建dto对象。然后答辩时,我就说我用到了单例模式,现在回想起来也觉得确实好笑。

  7. 使用gdb core分析Android程序的segment fault

    我们开发Android本地可执行程序时,常常遇见segment fault错误,若程序比较复杂,使用打日志的方式很难查到出错的根本原因,若能让程序出core,然后用gdb 调试该core文件将能很快定位出错的代码位置,并能看到运行时出错代码的运行栈,这样能迅速定位。

  8. Android源码下载出错的解决方法

    下载Android源码或者Cyanogenmod源码时经常会遇到各种问题,下面就常见的两个错误给出解决办法: