したがって、基本的に次のことを行う iOS アプリを開発しています。iPhone ではUITabBarController
5 つのタブがあり、iPad では右側に がありUISplitViewController
、左側に 4 つのタブがあります。アプリはARCを使用しています。MKMapView
UITabBarController
観光スポットについて話しているとしましょう。
ユーザーが現在いる都市に応じて、アプリはこの都市のすべての観光スポットをデバイスにダウンロードします。特定のサイトがダウンロードされると、ローカル データベースに保存されるため、ユーザーは再度ダウンロードする必要はありません。ユーザーが別の都市を検索すると、この都市のすべての観光スポットがダウンロードされます。等々。保存されたすべての観光スポットは、tableView 内または mapView に一覧表示され、都市別に並べ替えられます。
サイトは次のもので構成されます。
- 1~10枚の画像
- メタ情報 (タイトル、サブタイトル、名前、説明、住所、都市、国、評価、ID、緯度、経度...)
- 1-n のカテゴリ / タグに属しています
このアプリを使用すると、ユーザーは新しい名所を作成し、写真を撮り、メタ情報を入力して、それを私の Web サーバーにアップロードできます。
少数のサイトのみがダウンロードされている限り、これはすべて正常に機能しています。40 以上のサイトをローカルに保存すると、メモリ警告が表示され、アプリが終了します。問題は、このアプリが数百もの非常に膨大な数のサイトを閲覧することを意図していることです。
このようなメモリの問題を処理するためのいくつかのテクニックを知りたいと思います。
私の問題は、アプリの開始時に、ローカルに保存されたすべてのサイトが、tableView または mapView のデータソースとして配列に読み込まれていることだと思います。でも見せたいからには、そうするしかない。
他のアプリケーションは、複数の画像や多数のメタ情報などで構成される膨大な数のカスタム オブジェクトをどのように処理しますか? この種の問題を処理するためのベスト プラクティスはありますか?
事前にどうもありがとうございました!