我有不同分辨率的光栅化地图,包括15K / 60K / 240K图片,每个图片大小为256x256,我有.NET Compact Framework应用程序,可以显示地图。 但是需要花费大量时间将300k文件复制到SD卡,大约35-60小时(我复制了15K,花了大约2到2.5小时),我担心它会破坏FAT16文件系统(硬件不支持) FAT32,所以我无法将fat16切换到fat32)或复制后一切都会很慢。
所有图片的存储方式如下:/ mapdata / res {resolution} / x {x_coord} / y {y_coord} .png
任何可嵌入的数据库都可以帮助我吗?或者我应该将图像打包成像/storage/res1/x12.zip这样的所有y * .png存档的邮件吗?或者我应该用所有这些图片创建ISO图像,然后将iso复制到SD字节到字节?
答案 0 :(得分:1)
FAT16仅限于65,535个群集,每个文件至少需要一个群集,这将排除使用平面文件。
我假设你的地图图块是只读的,所以我会为你控制的图块创建一个自定义文件格式的路径(也可能有额外的好处,需要更多的努力来采取除此之外,它应该落入错误的手中。)
可能有以下几点:
查找给定图块的偏移量会相对轻量级,并且在报告Stream的结尾时覆盖Stream以执行“正确的操作” - 您甚至可以使用相同的偏移量来显示“无图块”图片你编码的区域不能整齐地放入一个正方形(比如说,英国)