ORM
1 つの iOS プロジェクトでdb-access を使用しています。私のプロジェクトでそれを使用しているときにメモリの問題に直面しています。私のアプリのシナリオは、アプリのバックグラウンド スレッドでページ形式でサーバーからローカル データベースにデータをダウンロードする必要があることです。
私がやっている手順は、サーバーから 30 レコードのページを取得することです。次に、ループでレコードがデータベースに存在することを確認します。
firstMatchOf:@"product_uuid" withValue:productUuid
方法。
その後、返されない場合は、オブジェクトを作成し、次のコードチャンクを使用してコミットします
productObj = [Products new];
productObj.product_name=name;
productObj.product_uuid=productUuid;
BOOL success=[productObj commit];
多くのレコードがあり、プロファイラーでフェッチ関数とコミット関数がメモリを保持しすぎてメモリを解放していないことがわかります。たとえば、30 レコードの 40 ページをダウンロードした場合、アプリのメモリ使用量は 100MB になり、レコードの増加とともに増加しています。私のメモリ管理の問題を手伝ってくれますか、何か間違ったことをしている場合は助けてください。
あなたの助けは非常に高く評価されます。
これはインストゥルメントのメモリ割り当てのスナップショットです http://tinypic.com/view.php?pic=dvftqq&s=8#.VKVdOaaZL0g