タグ

2010年9月6日のブックマーク (6件)

  • iPhone開発でメモリ使用量を把握しよう! 2

    開発部の三森です。前回の続きです。 メモリ使用量を見るためにObjective-Cのランタイムapiを使ってみることを考えます。 Objective-Cで書かれたプログラムは、コンパイルされたプログラムだけでなく、ランタイムが必要になります。 このランタイムがオブジェクトの生成、メソッドの使用などをプログラムの実行時に動的に割り当てるようになっています。 そしてランタイムapiを使えば、オブジェクトのもつメソッドを自由に入れ替えたり書き換えたりできるのです。 どんなapiがあるかはAppleのドキュメントに詳しく書いてあります。 ランタイムapiを使うには、まず #import <objc/runtime.h> でヘッダを読み込みます。 オブジェクトのメモリ確保はNSObjectの持つ"+alloc"セレクターで行われるので、 これを新しいものに上書きしてデバッグ情報を得ることを目標にしま

  • [iPhone] UIImage #imageWithContentsOfData: などは描画が激遅 | Sun Limited Mt.

    現在制作中の iPhone アプリで描画が遅くて困っていました。その原因はまさにこのエントリにある通りのことでした。 UIImage#imageNamed:は読み込みも描画もUIImage#imageWithContentsOfFile:やそれ以外のメソッドより5〜6倍速い – 24/7 twenty-four seven imageNamed:は圧倒的にロードが速いし、何故か描画も速い。 私の感じでは、UIImage#imageNamed: が早いというよりも、UIImage#imageWithContentsOfFile: や UIImage#imageWithData: などが遅い感じです。UIImage#imageNamed: 以外で作成した UIImage の描画も UIImage#imageWithContentsOfFile: とかよりも劇的に早いからです。(UIImage#

  • UIImageは簡単にリークする。。。 - That’s why, I’m here!

    iPhone SDKいまだに Objective-C の release はよく分かってない。確実なのは、C の free() とは違うようだということぐらいか。 iPod関係のアプリを作ると、どうしてもアルバムアートワークを表示したくなるが、なにも考えずに作ったらどんどんメモリリークしていった。XCodeでは、シミュレータの実行ではメモリの増減を監視できるが、iPhoneのほうは見えない。(3.1以降なら見えるかも。試してない)だから目にみえる現象としては動作が重くなっていって、最後にクラッシュ!となるぐらい。まあ処理が重くなったらリークしてるって思うようにしてる。 唯一見えるのはコンソールログ。最初は iPod Serverとか普通の人は知らない情報を見れて楽しいが、リークが始まると空き容量不足のワーニングやら、バックグラウンドの Safariが停止されたり、最後には音楽再生してるのに

  • iPhone 開発 画像ロード方法3種まとめ | AMsoft space

    UIImageをロードする場合は以下の3種類を使い分ける。 1. imageNamed 高速だが自動的にキャッシュされる。クリア用APIは非公式で存在するがうまく動作しないよう。 キャッシュが30-50Mになると落ちる。 小さい画像を何度もロードする場合に便利。 2. dataWithContentsOfFile imageNamedより高速ではない。 メモリ解放不要。キャッシュはされない。 サイズが大きい画像のロードで利用する。 ※ただし1画像ファイルの容量が大きすぎると、急に落ちることが有るよう、、 3. initwithContentsOfFile 基的に2と同様だが、alloc しているのでreleaseしないとメモリリークとなってしまう。 個人的に納得がいかないのは、alloc の戻り値は有効でも、 initwithContentsOfFile がnilを返

  • iPhoneアプリケーション開発入門まとめ

    iPhoneアプリケーション開発入門(cocoa touch,Objective-C関連)まとめ Konton's iPhone application labolatory English top page はじめに これはiPhoneデベロッパKontonによるObjective-C(cocoa touch)によるiPhoneアプリケーション開発に関する覚書をまとめたものです。 これまでブログにTipsを書いていたのですが、何というかそれぞれが単独の項目となっていて、まとまりに欠けるような気がするため、 こちらにも少しずつ内容を再構成しつつ書いてゆくことにしました。例によって(?)更新は不定期です。なるべく平易な言葉を使うようにして書いています。 なお更新日時はファイルの文が更新された日時なので、アップロードした日時とは異なりますのでご注意ください。 例として書かれるコードには、何の

  • 遠い昔、パワポ死がなかった頃

    Garr Reynolds / 青木靖 訳 2010年8月21日 パワポ死(Death by PowerPoint)とは、退屈なPowerPointプレゼンテーションによって聴衆が昏睡に似た状態に陥ることを指す。 遠い昔――PowerPointが発明される以前――はるか彼方の銀河系で、指導者達は大きな電子壁面ディスプレイを使いプレゼンテーションしていた。下の写真は、宇宙パイロットや航海士やドロイドで埋められた部屋でドドンナ将軍(スターウォーズIV)がブリーフィングをしているところである。将軍が広い画面を一杯に使って、デス・スターの内部構造を示すベクターアニメーションという視覚情報のみを表示していることに注意してほしい。それにまた彼が兵士達を前方に集め、人は画面のそばに立ち(画面の前に立つことすらある)、聴衆とのアイコンタクトを欠かさず、時折画面上のアニメーションで重要な部分を指差している