ブックマーク / blog.9wick.com (2)

  • CoreDataに大量のデータを追加する | エンジニア開発記

    CoreDataに大量のデータを追加するとき、メモリに気をつけてあげないとすぐメモリ不足になってしまいます。 しかし、CoreDataのManagedObjectは解放したいと思ったタイミングではなかなか解放してくれません。 メモリ解放するにはちょっとした手順が必要となります。 新しくManagedObjectContextを作る ManagedObjectをひとつ追加→保存する ManagedObjectContextのresetを呼ぶ(メモリ強制開放) 2〜3を必要なだけ繰り返す 他のManagedObjectContextで作ったManagedObjectに保存結果をマージする ちなみに、大量のデータを変更・処理する時なども手順は同じです。 新しくManagedObjectContextを作る まず、新しくManagedObjectContextが必要になります。 なぜ新しいのが必要

    fifnel
    fifnel 2012/02/09
  • NSUserDefaultsに潜む危険 | エンジニア開発記

    そういえばNSUserDefaultsのメモリの扱い全然知らないなと思って、ネットで調べてみても出なかったので 自分で検証して見ました。 結果、NSUserDefaultsの使用容量によってはアプリがすごい重くなったり、下手をすれば起動自体しなくなることがある!!ってことがわかりました! 結構驚きです。 いつデータはロードされるのか NSUserDefaultsのメモリ関係で一番気になるのはいつデータがロードされて、いつ解放されるかです。 それを調べるために次のような手順のソースでメモリを監視して見ました。 standardUserDefaultsを呼び出すだけ [objc]NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];[/objc] 値1個を保存 [objc] NSUserDefaults *us

    fifnel
    fifnel 2012/02/08
  • 1