所以我正在开发一个基本上执行以下操作的 iOS 应用程序:在 iPhone 上它是一个UITabBarController
带有五个选项卡的,在 iPad 上我有一个UISplitViewController
在MKMapView
右侧有一个UITabBarController
,在左侧有四个选项卡。该应用程序使用 ARC。
假设我们在谈论景点。
根据用户所在的当前城市,我的应用程序会将该城市的所有景点下载到设备上。一旦下载了某个景象,它就会存储在我的本地数据库中,因此用户不必再次下载它。如果用户搜索另一个城市,则会下载该城市的所有景点。等等。所有保存的景点都将在 tableView 或 mapView 中列出,按城市排序。
一个视线包括:
- 1-10 张图片
- 元信息(标题、副标题、名称、描述、地址、城市、国家、评级、ID、纬度、经度……)
- 它属于 1-n 个类别/标签
该应用程序允许用户创建新景点、为其拍照、填写其元信息并将其上传到我的网络服务器。
只要只下载了少量景点,所有这些都可以正常工作。本地保存了 40 多个景点,我收到内存警告,应用程序退出。问题是该应用程序旨在浏览大量的景点,几百个。
现在我想知道一些处理此类内存问题的技术。
我想我的问题是,随着我的应用程序的启动,所有本地保存的景点都被加载到一个数组中,作为 tableView 或 mapView 的数据源。但是因为我想展示它们,所以除了这样做之外别无他法。
其他应用程序如何处理由多个图像和许多元信息或类似信息组成的大量自定义对象?是否存在处理此类问题的某种最佳实践?
非常感谢您!