スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Apple LLVM compiler 4.2でのメモリリーク対処方法

開発メモ。

ARCになったり、gdbのコンソールとコマンドが違ったりで、メモリリーク等色々と苦労してる話を聞いたので、個人的にやっている方法をいくつか。といっても、デバッグ方法はプロジェクトや使用環境で変わってきます。今回は、通常のユーティリティアプリの場合。ゲームの場合にも使えるけど、基本的には特殊になるので後日。

まず、処理を改善するためにperformSelector等でスレッド処理をしている場合や、落ちた場所がよく分からない時。とりあえず、せめてどこで落ちたか分かりたいという時。


void uncaughtExceptionHandler(NSException *exception)
{
 NSLog(@"CRASH: %@", exception);
 NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
}

...

@implementation MainAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
 NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
 ...
}

...

という感じで、落ちた場所をログに出力できます。

ARCのせいでよくわからない場所で落ちる場合は、retainカウントが変な場所でおかしくなっている可能性がありますので、以下の方法を使います。

続きを読む»

UICollectionViewの一部が反応しなくなるバグ

開発メモ。

UICollectionViewは大変便利な機能の一つですが、その分多くの機能を有し、メモリリークしたりとまだまだ開発段階な印象があります。

Googleで「UICollectionView メモリリーク」で一番上にきたものを引用。

https://github.com/sawat/CVCLCustomLayouts

iOS6.0.1において、UICollectionViewLayoutのデコレーションビューの生成と再利用に バグがあるようです。具体的に言うと、スクロールアウトして非表示になったデコレーションビューの インスタンスが正しく再利用されず、スクロールするたび、無限にインスタンスが生成され再利用プールに キャッシュされるようです(広義のメモリリーク)。



とまぁ色々ありますが、他にもバグを発見。

CollectionItemをタップしながらUICollectionView.reloadを呼んだ際にタップ中のCollectionItemが反応しなくなるというもの。iPadの写真アプリの実装を真似していてデバッグした際に発覚しました。

続きを読む»

UIActivityViewControllerについて

開発メモ。詳細な説明抜きに自分用メモ的に。

iOS6から、UIActivityViewControllerという便利な機能があります。

自分で作っているアプリから、TwitterやFacebookに投稿する機能を付けたい時とかにハイパー便利な機能です。

元々、Twitterに投稿する機能を付けたい場合は、まずアプリを作成し、ストアにアップ。その後、Twitter側にこのアプリに投稿機能を埋め込みたいと申請。審査が通ればコードが貰えて、やっとアプリに投稿機能を付けられます。そして、組み込み後にアプリをストアに再アップ・・・というハイパーメンドクサイ感じだったのです。(※一応、WEBを介してTwitterに投稿する機能だけなら、審査不要で付けられました。)

で、段々とアップル側が配慮して「twitter.framework」という、投稿に便利な機能を付けました。更にその後「Social.framework」という、更に便利な機能を追加。同時にFacebookにも対応。そして現在は「UIKit.framework」になり、「UIActivityViewController」とクラスで済みます。

UIActivityViewControllerは便利で使ってるのですが、ふと標準の写真アプリと動作が違うなーということで、少しだけ調べてみました。

続きを読む»

プロフィール

エロぺんぎん

管理人:エロぺんぎん
不純な動機でプログラマーになった男、エロぺんぎんです。ブラザー達を猛烈に応援したい気持ちと、自分もプログラマーとして成長したい思いで、当ブログを立ち上げました。
エロぺん動画を運営しております。

検索フォーム
Twitter
最新記事
最新コメント
カテゴリ
リンク
RSSリンク
エロぺん動画で人気の動画
人気の記事