分类: Android平台
2014-11-29 12:26:19
说明1:
国际移动用户识别码IMSI,这是国际上为唯一识别一个移动用户所分配的号码。
IMSI共有15位,其结构为:MCC+MNC+MSIN。 其中MNC+MSIN=NMSI
MCC:移动国家码,由ITU统一管理和分配,唯一识别移动用户所属的国家,共3位。中国为460。
MNC:移动网络码。两位。中国移动TD系统使用00,联通GSM使用01,移动GSM使用02等等
MSIN:共10位。具体参见博客
http://blog.chinaunix.net/uid-20484604-id-1941290.html
这里面博主写的很详细 。其中MCC和MNC如果在配置android APN的时候会用到。
资源查找的优先级就是按照上表从上往下。
例如:drawable应用的资源按以下方式来组织。
drawable/
drawable-en/
drawable-fr-rCA/
drawable-en-port/
drawable-en-notouch-12key/
drawable-port-ldpi/
drawable-port-notouch-12key/
程序的运行配置情况如下:
Locale = en-GB
Screen orientation = port
Screen pixel density = hdpi
Touchscreen type = notouch
Primary text input method = 12key
那么程序运行的时候,详细步骤如下:
1、根据语言是en-GB,消除和非en语言的目录。即drawable-fr-rCA目录
drawable-en/
drawable-en-port/
drawable-en-notouch-12key/
2、根据表,一个一个筛选剩下的目录。这次检查的维度是screen orienation。由于设备的改属性为port,所以删除不包含port的资源目录。
drawable-en-port/
我们在资源编译和打包的过程中,会生成一个resource.arsc文件。这个文件记录了所有的应用程序资源目录的信息。包括资源的名称、类型、值、ID以及所配置的维度信息。
意思就类似于staruct lstat结构体中保存着文件的所有状态信息。
整个应用资源的编译、打包以及查找的过程。
图的上半部分是资源的编译、打包的过程。
图的下半部分是应用调用资源时,资源的查找过程。
图片说明几点:
1、除asset和res/raw资源被原封不动地打包进APK外,其他资源都会被编译或者处理。
2、除asset资源外,其他资源都会被赋予资源ID。raw也会被赋予资源ID。
3、打包工具负责编译和打包资源,编译完成之后,会生成一个resources.arsc文件和一个R.java。前者保存的是一个资源索引表,后者定义资源的ID常量。
4、应用程序配置文件AndroidManifest.xml同样会被编译成二进制的XML文件,然后被打包到APK里去。
5、应用程序在运行时通过AssetManager来访问资源,或者通过资源ID来访问,或者通过文件名来访问。