这几天打算看下安卓的代码,看优秀的源码也是一种学习过程,看源码的过程就感觉到,安卓确实是深受linux内核的影响,不少数据结构的用法完全一致。花了一中午时间,研究了下init.rc解析过程,做个记录。
init.rc 文件并不是普通的配置文件,而是由一种被称为“Android初始化语言”(Android Init Language,这里简称为AIL)的脚本写成的文件。在了解init如何解...
分类:
移动开发 时间:
2014-07-16 17:35:39
阅读次数:
384
Exchanger是一个针对线程可以结对交换元素的同步器。每条线程把某个对象作为参数调用exchange方法,与伙伴线程进行匹配,然后再函数返回的时接收伙伴的对象。另外,Exchanger内部实现采用的是无锁算法,能够大大提高多线程竞争下的吞吐量以及性能。
算法实现
基本方法是维持一个“槽”(slot),这个槽是保持交换对象的结点的引用,同时也是一个等待填满的“洞”(hole)。如...
分类:
移动开发 时间:
2014-07-16 17:23:36
阅读次数:
484
1、 概述
DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。
在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。
2、 好处与用法
使用DialogFr...
分类:
移动开发 时间:
2014-07-16 17:20:13
阅读次数:
340
前言
Rom Porting第一部可能就是开机动画的移植,这个移植过程还是相当简单的,简要介绍一下Android 开机动画的制作。
Boot Animation
Android系统自android 2.0以后,均使用/system/bin/bootanimation程序来显示开机动画,如需要修改开机动画,不用修改代码,只需要按格式要求制作bootanimation.zip包即可。zi...
分类:
移动开发 时间:
2014-07-16 17:11:11
阅读次数:
361
原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing
5、Testing(测试)
构建一个测试程序已经被集成到应用项目中,没有必要再专门建立一个测试项目。
5.1 Basics and Configuration(基本知识和配置)
正如前面所提到的,紧邻...
分类:
移动开发 时间:
2014-07-16 11:24:19
阅读次数:
341
Locale locale = getResources().getConfiguration().locale;
String language = locale.getLanguage();
以上代码可以获取到当前系统的语言码,中文的语言码为ch,英文的语言码为en,完整的语言码如下:
bn_BD孟加拉语(孟加拉)
bo_CN 博多语(中国)
bo_IN 博多语(印度)
...
分类:
移动开发 时间:
2014-07-16 11:03:31
阅读次数:
228
依据《C++ More Exception》所述的规则:
Rule #1: Never write using-directives in header files.
Rule #2: Never write namespace using-declarations in header files.
Rule #3: In implementation files, never ...
分类:
其他好文 时间:
2014-07-16 11:00:58
阅读次数:
141
我们从Kernel层简单说明:
1、Kernel层:基于Linux2.6+内核,同时做了一些嵌入式环境做了一些针对性的优化调整。
2、Libraries层:包括Bionic C库,以及HAL(硬件驱动接口抽象)等API。
3、Android Runtime(ART)层:包含核心应用库和Dalvik虚拟机。
4、Application Framework层:纯JAVA的API框架,包括Activity Manager和Windows Manager等。
5、Applic...
分类:
移动开发 时间:
2014-07-16 10:13:02
阅读次数:
367