我正在为 iOS 开发 MonoTouch 应用程序。
该功能的很大一部分是用户需要在数据页面(屏幕)之间连续滑动并来回切换。
我需要记住内存消耗,所以我的想法是我一次只能有几个屏幕在内存中。例如,延迟加载仅提前 1 个屏幕,所以当用户滑动到它时它是可用的。(或滑动时延迟加载)。
当用户滑回他们所在的上一页时,我需要确保该页面仍在内存中并且没有离开内存。落后的页面,一旦用户向后滑动,我就可以懒惰地重新加载。因此,如果用户有一段时间没有查看屏幕,我将需要一种机制将屏幕发送到 GC,并在用户滑动到该页面时自动加载它们。
我正在考虑创建一个对象列表,其中每个对象都有关于在视图上显示什么的信息以及对实际视图本身的引用。如果此引用为空,我知道要创建视图。如果引用存在且未处理,我可以向用户显示现有引用。当用户左右滑动时,我可以转到列表中的下一个(或上一个)项目并执行相同的操作。检查它是否有视图引用并加载该视图,或者创建它。
性能是这里的关键,因为用户可能会在数百个(或更多)屏幕上滑动。
关于速度和内存管理的最佳架构有什么想法吗?