

シミュレーターのNSIndexPathのリークはリークではない?
Leaksでのシミュレータの実行で、単純なTableViewの表示で32bytesのリークが。なんでもNSINdexPathのオブジェクトということ。
しばらく悩んだあげく、ネットで検索。
するとこんな記事が。
どうやら、シミュレーターでは、NSIndexPathの正確なリークは測定できないみたいです。
Leaksでのシミュレータの実行で、単純なTableViewの表示で32bytesのリークが。なんでもNSINdexPathのオブジェクトということ。
しばらく悩んだあげく、ネットで検索。
するとこんな記事が。
どうやら、シミュレーターでは、NSIndexPathの正確なリークは測定できないみたいです。
1日悩んだiPhoneアプリのメモリーリーク。
原因は、「The iPhone Developer’s Cookbook」のサンプルコード。
// Build a thumb image based on the grayscale percentage
id createImage(float percentage)
{
CGRect aRect = CGRectMake(0.0f, 0.0f, 48.0f, 48.0f);
CGContextRef context = MyCreateBitmapContext(48, 48);
CGContextClearRect(context, aRect);
// Outer gray circle
CGContextSetFillColorWithColor(context, [[UIColor lightGrayColor] CGColor]);
CGContextFillEllipseInRect(context, aRect);
// Inner circle with feedback levels
CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:percentage green:0.0f blue:0.0f alpha:1.0f] CGColor]);
CGContextFillEllipseInRect(context, CGRectInset(aRect, 4.0f, 4.0f));
// Inner gray circle
CGContextSetFillColorWithColor(context, [[UIColor lightGrayColor] CGColor]);
CGContextFillEllipseInRect(context, CGRectInset(aRect, 16.0f, 16.0f));
CGImageRef myRef = CGBitmapContextCreateImage (context);
free(CGBitmapContextGetData(context));
CGContextRelease(context);
return [UIImage imageWithCGImage:myRef];
}
これでは、myRefのRelease時期を逸してしまう。
正確には、こうあるべき。
// Build a thumb image based on the grayscale percentage
id createImage(float percentage)
{
CGRect aRect = CGRectMake(0.0f, 0.0f, 48.0f, 48.0f);
CGContextRef context = MyCreateBitmapContext(48, 48);
CGContextClearRect(context, aRect);
// Outer gray circle
CGContextSetFillColorWithColor(context, [[UIColor lightGrayColor] CGColor]);
CGContextFillEllipseInRect(context, aRect);
// Inner circle with feedback levels
CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:percentage green:0.0f blue:0.0f alpha:1.0f] CGColor]);
CGContextFillEllipseInRect(context, CGRectInset(aRect, 4.0f, 4.0f));
// Inner gray circle
CGContextSetFillColorWithColor(context, [[UIColor lightGrayColor] CGColor]);
CGContextFillEllipseInRect(context, CGRectInset(aRect, 16.0f, 16.0f));
CGImageRef myRef = CGBitmapContextCreateImage (context);
free(CGBitmapContextGetData(context));
CGContextRelease(context);
//return [UIImage imageWithCGImage:myRef];
UIImage *img = [UIImage imageWithCGImage:myRef];
CGImageRelease(myRef);
return img;
}
暖かかった昨日、久しぶりにグーちゃんがきました。
すっかり大きくなって、大猫です。
フーちゃんの3倍ものご飯を食べて、しばらく横になっていたのですが、押し入れで眠っていたフーちゃんが気がついて、近づくと、威嚇するのですよね。
グーちゃん、女の子を威嚇するのはおかしいよ。
これではいかんと、抱き上げて外に出そうとすると、重いし、抵抗する。
ちょっと困ったグーちゃんでした。でも元気で何より。
iPhoneアプリ開発で進展あり。
iPhoneの外にデータを取り出せないと諦めていたのですが、SyncDocsというオープンソースがあって、これを使えばできる。
iPhone側のサンプルアプリと、Windows側、Mac側のサーバーが提供されています。
USBは使わないで、Wi-FiとBonjourでHTTPを使っているようです。
Mac側のサーバーで確認したのですが、少しおかしいところもありますが、まずまず大丈夫そうです。
最初はPDFで取り出そうとしたのですが、問題がいくつかあって、JPEGで取り出すことにしました。フォトライブラリに追加する場合と違って、高解像度の画像が取り出せます。
PDFでの問題は、グラフィックコンテキストを使ってテキストを描画する場合、日本語が化けること、選択できるフォントが「Helvetica」のみらしいこと、Wrapなどの折り返しが自動ではできないこと、などです。
解決法をかなり時間をかけて調べたのですが、ユーザがその都度指定する文字列を日本語でPDF化するのは、今のところ困難と判断。
iPhone側のサンプルの改造で、難航して1日かかったものの、動作するようになりました。
1歩前進です。
・IEからFirefoxに乗り換えた4つの理由。IEはフォーム入力の補完機能が、しばしば空白があるとそこで切れる。ページのアイコンが関係ないものが表示される。文字化けが起こりやすい。MT4のウェブエディターの文章中の写真の挿入位置がおかしい。
・それにもかかわらず、三菱東京UFJのビジネス向けサービスでは、WindowsのIE限定。理解に苦しむ。
・マイ・ブームのヘンリー・マンシーニ。「シャレード」と「TWO FOR THE ROAD」のサントラは、どれも素晴らしい。
・iPhoneアプリ安定化中。少しずつ前進。PDFは作成できても、iPhoneの外に取り出せないのには参った。メールに添付もできないし、フォトライブラリに追加するには、解像度をかなり落とさなくてはならず、使い物にならない。今後のApple次第というところ。
・今回のお仕事で使った、Webarenaの仮想サーバーは素晴らしいです。パワーがあるし、安定しているし、自分でソフトをインストールできるし。難を言えば、OSが古く、CentOS 4であることか。(やろうと思えばOSもインストールできるのですが)それ以外は素晴らしいです。次回も是非使いたい。
・「ふちゃぎとエリザベス」の宮良隆彦さんが、続編「ママになったエリザベス」を出した。なんとふちゃぎが家出したという。DVDにフーちゃん釘付け。子猫がかわいらしい。超お勧め。
・NASから外付けHDへのバックアップでコピーできないファイルがある。Xcodeでつくられた、ExpandHistory.o~>、拡張子がいけないんでしょうね。他のファイルはコピーされているので、とりあえずよしとします。
今日は、SoundExchangeにウェブ・ラジオの著作権料を送りました。
2009年度のミニマム・フィーの$500と2008年の9月から12月の分です。
9月に送ったときには1$109円でしたが、今日は93円。
1万円以上の差です。こういうところはありがたいです。
それから先日、米Amazonのマーケットプレースで、前々から欲しかった「遥か群衆を離れて」のサントラをゲット。
日本のマーケットプレースでは10000円以上の値がついていたものが、送料を入れて1000円ちょっとで手に入りました。
リチャード・ロドニー・ベネットの音楽は素晴らしいです。フルートを吹いているのが、ジェームズ・ゴールウェイだということも初めて知りました。
来週、流しますのでぜひ聴いてください。
今年のお正月は、遅まきながら、リリー・フランキーさんの「東京タワー」を読んだのですが、後半はもう涙グシャグシャ。
いつかくるお別れは、みんな、あんな風になるんだろうか?
オカンのお葬式の日に、原稿の催促する出版社。それに対して、フランキーさんは、猛烈に反発しながらも、オカンの「人に迷惑をかけたらいかんよ」という言葉を胸に、「よし、それなら、誰にも書けない文章を書いてやる!」と頑張る。
僕は、お別れの場面よりも、こちらに感動した。私を含めて、親不孝しているみなさんに超お勧め。
1日に帰省してきました。
今年は鶴亀橋の白鳥が残念でした。何羽かいたのですが、見に行ったときに、ちょうど上空にヘリコプターが飛来して、上空で停止していたために、みんな逃げていってしまいました。
見物人も何人かいたのですが、残念そうでした。
それにしても、あのヘリ、何をしていたのか・・・
それから、次の写真は、実家のミミです。物怖じしない人懐っこいにゃんこです。
新潟の天気は、黒い雲の間から、青空と日の光が差し込む幻想的な光景でした。あの空は忘れられないでしょう。
本年もよろしくお願いいたします。