Hi Ben,
For your first question, you can set different cache id for different files. Just in case my misunderstanding, I’ll explain how the cache saves. You know the FileBitmapTileCache has two properties: CacheDirectory and CacheId; then the file cache name is [CacheDirectory]/[CacheId]/[CurrentScale]/[Row]/[Column].png etc. If you didn’t set the cache id, it will be a Guid. So if you know how to save the cache files, you might know how to arrange the cache id.
As my understanding, if you use a constant name as cache id for different files, the cache files must be conflicted when you using it.
For you second question, I think it’s a good idea; but we don’t have any API’s to do it now. But let’s estimate how much disk size do we need for caching all levels? For every level, you will save Map.Pow(2, 2*n) tiles, while most of the tiles are useless for your needs; although we can have some algorism to optimize it.
We have MapSuiteTileMatrix class which can help you generate the tiles information you need. You can pre-cache the tiles by your logic. You know we cannot spend much time on making samples for every user here, just have a try and let me know if you have any questions. Sorry for the inconvenience.
Hope it makes sense.
Thanks,
Howard