sqlite データベースに対して多くの呼び出しを行う iPhone アプリを作成しています。私の質問は、クエリごとにデータベース接続を開いたままにして閉じるか、開いたままにしてアプリを閉じるときに閉じるのが最善かということです。
アプリで多くの反復をループする場合があり、そのたびに db に行を追加していますが、現在のように、反復ごとに db を開き、操作を実行してから db を閉じます。
アプリがフォアグラウンドにあるときは常に開いたままにし、バックグラウンドに移行するとき、またはメモリの警告が表示されたときにのみ閉じます。接続を開くにはコストがかかる可能性があるため、できる限り少なくしたいと思いますが、他の場所でより適切に使用できるリソースを消費する可能性があります.
接続がまだ開いていない場合は、接続を開くためにすべての db アクセス コードを記述する必要があります。いつでも閉じることができます。
個人的には、データベースを更新するために多くの呼び出しを行っている場合は、データベースを開いたままにしておきます。データベースを開いたままにしておくことができるロジックの「チャンク」がある場合、それは良いことです。アプリが実行されている間ずっと開いておくのは最善ではないかもしれませんが、これは本当にあなたのアーキテクチャに依存していますアプリ。