タグ

iPhoneとmemoryに関するproto_jpのブックマーク (2)

  • メモリ管理 - かみやんの技術者ブログ

    iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし

    メモリ管理 - かみやんの技術者ブログ
  • Cocoaの日々: CoreData - 大量データを扱う場合のメモリ利用量を減らす

    データ件数は、Customerが 500件、Karteが6,000件(Customer1件につきKarte 12件)となっていて、それぞれを1つの CSVファイルへ書き出す。 処理は次のような感じになる。 NSMangedObjectContext* moc = [取得]; NSArray* customers = [moc Customer全件取得]; for (NSManagedObject* customer in customers) { NSArray* kartes = [moc Karte取得・条件:customer]; for (NSManagedObject* karte in kartes) { [CSV1行書き出し]; } }メモリのフットプリント(利用状況)はこんな感じ。 Customer, Karte を1件づつ読み込む度にメモリが消費され、フットプリントが増大し

  • 1