标签:
资源包中一般不会直接存储资源文件的路径名,而是对路径名做Hash,存储其Hash-id(为了避免Hash冲突,最好做两次Hash,用两个Hash唯一标记一个资源文件)。
这样不但查询速度更快,而且避免了资源文件路径名变长造成的文件记录结构(Entry)长度不统一的问题。
不过如果有存储资源文件路径名的需求的话,其实也可以另辟蹊径,实现记录资源文件路径名,而且不会影响资源包文件条目(Entry)记录结构。
具体做法:
取hash-id为0的作为系统占用id,此hash-id用于存储一个系统文件SystemFile(此文件作用就是记录所有的资源路径名)。
此文件记录所有加入到资源包的文件路径,然后资源包中的资源文件条目(Entry)单独记录其文件路径名在系统文件(SystemFile)中的偏移量和长度即可。
最后此系统文件像其他文件一样添加到资源包中即可,记住其hash-id是0。
此方式添加对路径名的记录,对资源包改动不大。
标签:
原文地址:http://www.cnblogs.com/luweimy/p/4385539.html