Android xml 格式 隨筆

打包的時候Android xml文件會由字符格式(utf-8編碼)轉換爲二進制格式。具體如:http://blog.csdn.net/jiangwei0910410003/article/details/50568487 它有android sdk 提供的打包工具aapt 生成二進制文件,相似class格式,前面4個字節爲魔數,表示文件格式。這些XML資源文件之所要從文本格式編譯成二進制格式,是由於:1. 二進制格式的XML文件佔用空間更小(這個地方不必定,好比原來的文件是用utf-8編碼一個英文字符佔1個字節, 編碼後使用utf-16編碼,一個英文字符佔兩個字節,文件反而可能變大)。這是因爲全部XML元素的標籤、屬性名稱、屬性值和內容所涉及到的字符串都會被統一收集到一個字符串資源池中去,而且會去重。有了這個字符串資源池,原來使用字符串的地方就會被替換成一個索引到字符串資源池的整數值,從而能夠減小文件的大小。2. 二進制格式的XML文件解析速度更快。這是因爲二進制格式的XML元素裏面再也不包含有字符串值,所以就避免了進行字符串解析,從而提升速度。將XML資源文件從文本格式編譯成二進制格式解決了空間佔用以及解析效率的問題,可是對於Android資源管理框架來講,這只是完成了其中的一部分工做。Android資源管理框架的另一個重要任務就是要根據資源ID來快速找到對應的資源。
相關文章
相關標籤/搜索