一般的なiOSアプリケーションでメモリに問題がありました。CoreDataはあまりにも多くのメモリを使用していました(> 30Mo)。だから私は、使用されるメモリの量を減らすためにできることはすべてやった。 CoreDataメモリ使用量:iOS 5とiOS 4.3の違い?
- ハイレベルカテゴリ(限定されたバイナリデータ< 10Kを持つエンティティ):
基本的に私のCoreDataモデルは、基本的なカタログモデルがあります
:
- 各サブカテゴリは(再び、限定されたバイナリデータ< 10K)〜10の製品
- 各製品が有する〜10枚の詳細な画像(〜40-70Kデータのより高い量を有する)を有します
(画像を含む)各項目の詳細項目が割り当て解除された後、私は
[NSManagedObjectContext refreshObject:項目mergeChanges:NO];ていません(画像をスキップするために)、メモリ内のグラフを削減する
コールは
物事は、iOSでかなりうまく動作5+が、iOSの4.3に、私は多くのエラーを取得します。
時々、エラーは次のとおりです。キャッチされない例外 'NSObjectInaccessibleException' に起因するアプリを終了
、理由: ' IDとNSManagedObject:。0xbb70480 が無効になっていました'
「ハンドラーが例外を投げて」、何が間違っているかについての詳細がなく、アプリが殺されることがあります。
私の質問は以下のとおりです。動作はiOSの5とiOS 4.3と異なっている理由
- 任意のアイデア?
- CoreDataで使用されているメモリを減らすための推奨事項はありますか? (取り出しコントローラを解放し、もう使用されていないコンテキストを解放する以外)
ありがとう@XJones。 msgstr "" "イメージデータ以外のすべてのプロパティを取得するようにフェッチリクエストを設定し、必要に応じてイメージにフォールトが発生するようにします。それを行う方法? –
問題ありません。 'NSFetchRequest'の' propertiesToFetch'プロパティを調べてください。 – XJones
ありがとう、私はそれを試してみます。私はこの機能を知らなかった。 –