Hatena::Groupiphone-dev

Ni chicha, ni limona - 平均から抜けられない僕

2010-03-30

[NSAutoReleasePool][CFRunLoop] NSAutoReleasePoolの管理者は誰であるべきか 19:03  [NSAutoReleasePool][CFRunLoop] NSAutoReleasePoolの管理者は誰であるべきか - Ni chicha, ni limona - 平均から抜けられない僕 を含むブックマーク はてなブックマーク -  [NSAutoReleasePool][CFRunLoop] NSAutoReleasePoolの管理者は誰であるべきか - Ni chicha, ni limona - 平均から抜けられない僕  [NSAutoReleasePool][CFRunLoop] NSAutoReleasePoolの管理者は誰であるべきか - Ni chicha, ni limona - 平均から抜けられない僕 のブックマークコメント

昨晩、スレッドを使いこなすために「NSAutoReleasePoolをどこで作るか」というのを調べていました。


プロジェクトを新規作成するとmain()内に以下のコードが記述されています。

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;

これに対し、「なぜランループ内ではなく、main()に直接書いてあるのだろう?これだと記入漏れやうっかり削除もあり得るのでは?」と思ったわけです。

そこでTwitterで呟いたところ、投稿が物書堂さんとnorio_nomuraさん、cqa02303さんの目に留まり、色々とアドバイスをしてもらいました。


そのときの内容をとTogetterで纏めましたので、ここにリンクを貼っておきます。


 NSAutoReleasePoolの作成&解放タイミングについて - Togetter


最後はnatsun_happyさん*1にも混じっていただいたおかげで、うまい具合にまとめることが出来ました。

皆様、ありがとうございました。


TLで出てきたTips

上記タイムラインで出てきたTipsをここにも記しておきます。


NSAutoReleasePoolの中味をログ出力させる

クラスメソッド[NSAutoReleasePool showPools]を使います。Unpublished Methodなのでビルド時に警告が出ますが問題はありません(Objective-Cはすごいですね)。

これにより以下の情報を確認できます。

  • NSAutoReleasePoolが何層構造になっているか
  • 各階層では何のクラスのオブジェクトが保持されているか

あまり詰まっているようだとメモリ活用として問題があると思いますので、参考にすると便利です。

NSAutoReleasePoolが作られていないときにautoreleaseされるオブジェクトがあるかどうかの識別方法

自分の作ったスレッドでプールがきちんと使われているか心配になったときは、ログに

…autoreleased with no pool in place - just leaking

と出力されていないかをチェックしてみてください。もしプールを用意していなければ、autoreleaseしたタイミングで上の文字列が問題のクラス名と共に出力されます。

通常は設計の時点でこんな不具合は潰されているべきですけれど・・・。


MetronomePROに関するお詫び 19:03  MetronomePROに関するお詫び - Ni chicha, ni limona - 平均から抜けられない僕 を含むブックマーク はてなブックマーク -  MetronomePROに関するお詫び - Ni chicha, ni limona - 平均から抜けられない僕  MetronomePROに関するお詫び - Ni chicha, ni limona - 平均から抜けられない僕 のブックマークコメント

最後に、お詫びです。


拙作のメトロノームアプリMetronomePRO(iTunesが開きます)」ですが、現行の1.3で見られる幾つかの不具合を修正した1.3.1のレビューがなかなか終わりません。現在5日目に突入です。


アップルiPadアプリ審査に注力しているせいかなとも思いますが、ユーザーの皆様、どうぞもう少しだけ修正版のリリースをお待ちください。

ご迷惑をおかけいたします。

*1:CoreData周りにとてもお詳しい方です。

GerardmupGerardmup2019/01/30 03:07mayavanrosendaal.com
cialis without a doctor's prescription cialis without prescription cialis without prescription online buy cialis without prescription

JospehGafJospehGaf2019/01/30 10:20cialis pharm
comprar cialis online entrega urgente
what is the price for cialis
cialis drug store price

cialis 20mg directions
lilly cialis without prescription
cialis in germany
cialis in sam club
https://stowe365.com/#Buy-Cialis

JospehGafJospehGaf2019/01/30 19:46buy cialis.com
cialis original
best price cialis online
cialis australia supplyers

30mg cialis
buy cialis brand canada
philly cialis
store cialis in refrigerator
https://stowe365.com

JospehGafJospehGaf2019/01/31 05:39over-the-counter-cialis-paid-by-paypal
cialis 10mg tablets price
why has the price of cialis gone up
discount cialis online canada

generic cialis tadalafil reviews
cialis online funziona
genuine cialis online australia
buy cialis overnight
https://stowe365.com

JospehGafJospehGaf2019/01/31 16:18generic generic cialis pills 25 mg
buy cialis 5mg online pharmacy
rx ok biz products cialis
cialis 5mg daily tab more than 1

buy generic cialis "on line"
cialis prescription insurance coverage
cialis professional vs. super active
dove comprare cialis generico forum
https://stowe365.com/#Buy-Cialis

JospehGafJospehGaf2019/02/01 04:25lowes online price for cialis
kamagra cialis kaufen
cialis online withouth prescription
cialis treatment

cialis bill me later
import cialis
to buy cialis from ireland
cialis daily online
https://stowe365.com/#Buy-Cialis

JospehGafJospehGaf2019/02/01 23:20get cialis pills
order female cialis
cialis tabs
what is the retail price of cialis

cialis over night
cialis online pagamento contrassegno
cialis over internet
natural eshop cialis danmark
https://stowe365.com

DavidWewDavidWew2019/02/03 03:05canadian pharmacy buy cialis professional
cialis 40 mg chocolate video com
<a href="http://kaivanrosendaal.com">Buy Cheap Cialis</a>
cialis jelly
buying cialis online review
[url=http://kaivanrosendaal.com]cialis for daily use[/url]
when does cialis kick in
when will cialis go off patent
http://kaivanrosendaal.com/#Buy-Cheap-Cialis

DavidWewDavidWew2019/02/03 12:55cheapest price for cialist in canada
product team cialis getting ready to market case analysis
<a href="http://kaivanrosendaal.com/">buy cialis online</a>
cialis france livraison 48 heures
pharmacy bill cialis
[url=http://kaivanrosendaal.com]viagra vs cialis[/url]
costo cialis originale 20 mg
health benefits of cialis
http://kaivanrosendaal.com/#buy-cialis

DavidWewDavidWew2019/02/04 02:44best canadian pharmacy for cialis
cialis usa online paypal
<a href="http://kaivanrosendaal.com/">Cheap Cialis</a>
cialis overnite
qualcuno ha comprato cialis online
[url=http://kaivanrosendaal.com]cialis vs viagra[/url]
cialis para venta al mayoreo
is cialis by prescription only
http://kaivanrosendaal.com/#what-is-cialis

DavidWewDavidWew2019/02/04 11:00comprar cialis barato mastercard
which cialis is more potent 20 or 40 mg
<a href="http://kaivanrosendaal.com/">generic cialis</a>
xm radio generic cialis
cialis daily dosage
[url=http://kaivanrosendaal.com]Buy Cheap Cialis[/url]
try cialis
best price brand cialis
http://kaivanrosendaal.com/#cialis-generic

DavidWewDavidWew2019/02/04 22:32japanese cialis baolong
cialis price europe 345
<a href="http://kaivanrosendaal.com/">viagra vs cialis</a>
cheapest cialis pills
quanto costa cialis 20 mg farmacia
[url=http://kaivanrosendaal.com/]Cheap Cialis[/url]
cialis ersatz
cipla cialis review
http://kaivanrosendaal.com/#cialis-canada

DavidWewDavidWew2019/02/05 10:47cialis sin receta medica
comprar cialis 5mg online
<a href="http://kaivanrosendaal.com">cialis cost</a>
brand name cialis canada
cialis suppliers
[url=http://kaivanrosendaal.com/]generic cialis tadalafil[/url]
online apotheke cialis kaufen
cialis shop mit mastercard
http://kaivanrosendaal.com/#cialis-from-canada

DavidWewDavidWew2019/02/05 21:31cialis apotheke holland
cialis 5mg best price australia
<a href="http://kaivanrosendaal.com/">viagra vs cialis</a>
cialis without prescriptions usa
acquisto cialis senza ricetta online
[url=http://kaivanrosendaal.com]cialis official site[/url]
cialis laboratoire lilly
order cialis 10mg cheap in us
http://kaivanrosendaal.com/#Buy-Cheap-Cialis

DavidWewDavidWew2019/02/06 06:03generic cialis user reviews
cialis 5mg price in dubai
<a href="http://kaivanrosendaal.com">cialis alternative</a>
ebay cheap cialis
order brand name cialis online
[url=http://kaivanrosendaal.com/]cialis free trial[/url]
cialis 5mg lilly
cialis shipped from canada
http://kaivanrosendaal.com/#buy-cialis