タグ

objCとARCに関するakiyanのブックマーク (2)

  • ARC のメモリ解放タイミングを調べた - Qiita

    一つの関数内で容量の大きなファイルを読み込み加工する処理を連続して行っていたらメモリが足りなくなった。 ARC ではスコープを外れ(て参照カウンタがゼロになっ)たオブジェクトは、すぐに破棄されると思っていたのでしばらくハマった。 問題のソース(ARC使用) ローカルでもWebでも何でもいいけど、ファイルから無視できない程度の容量のデータの読み込みを繰り返す処理。 - (IBAction)buttonDownWithArc:(id)sender { NSString* path = @".../bigdata.img"; for (int i = 0; i < 10000; i++) { NSData* data = [NSData dataWithContentsOfFile:path]; [NSThread sleepForTimeInterval:0.5]; data = nil; }

    ARC のメモリ解放タイミングを調べた - Qiita
  • ARC+Blocks+llvm4.0時代のコード記述作法 – Zero4Racer PRO Developer's Blog

    はじめに ARC、Blocks、llvm4.0 Modern Objective-Cと、Objective-Cの記述方法はどんどんん変わっています。コードの記述量が減ったり、分かりやすいコードを書くことが出来る様になって来たものの、リーク、EXC_BAD_ACCESS(解放されたメモリにアクセスすることによるクラッシュ)が発生する危険があります。この記事では、2012年8月のリリースされた機能の時点で、わたしが採用している書き方のルールを紹介します。 iOS5 + weak最強 前提条件として、__weakが使用出来るiOS5での状況について記述しています。UI要素の変更の為にBlocksをコールバックで使う状況で、iOS4+ARC+Blocksで完全に問題が起きないコードを書くのは結構大変です。 決まりを作る それで実際にプログラムを作成するのですが、その時その時でベストな方法を選べば良

    akiyan
    akiyan 2012/08/04
    『Xcode4.4のllvm4.0から、synthesized by default』
  • 1