1. Android系统启动过程详解

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

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

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

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

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

  4. 漫谈设计模式–前言

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

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

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

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

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

  7. Android编译系统详解(三)——编译流程详解

    1.概述 编译Android的第三步是使用mka命令进行编译,当然我们也可以使用make –j4,但是推荐使用mka命令。因为mka将自动计算-j选项的数字,让我们不用纠结这个数字到底是多少(这个数字其实就是所有cpu的核心数)。在编译时我们可以带上我们需要编译的目标,假设你想生成recovery,那么使用mka recoveryimage,如果想生成ota包,那么需要使用mka otapackage,后续会介绍所有可以使用的目标。另外注意有一些目标只是起到修饰的作用,也就是说需要和其它目标一起使用,共有4个用于修饰的伪目标:

  8. Android编译系统详解(二)——命令执行流程

    编译Rom的第一步是source build/envsetup.sh,该步骤将envsetup.sh里的函数声明为当前终端可用的命令,并将所有产品添加至变量LUNCH_MENU_CHOICES里。 编译Rom的第二步是让用户选择他想编译的产品,用户可以使用在source build/envsetup.sh后设置的breakfast或者lunch命令进行选择,接下来我们将详细分析这些命令的执行流程以及执行完breakfast命令或者lunch命令后在会话终端设置的变量