タグ

iphoneとメモリリークに関するkaza13のブックマーク (14)

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 浮動小数点演算の高速化 - テストとか

    ぼちぼち iPhone 開発ネタも書いていこうかと。浮動小数点演算をバリバリ行うようなコードではコンパイラのオプションで Compile for Thumb (-mthumb) を無効にすると速くなるらしいので、実際どんなもんだろうと思ってベンチマークを取ってみました。ソースはこんな感じで、float と int のかけ算の処理をループさせたときの実行時間を測定しています。 #define CYCLES 100000000 void fp_test() { float a = 0.0000001f; float b = 1.0000001f; CFAbsoluteTime t1 = CFAbsoluteTimeGetCurrent(); for (int i = CYCLES; i >= 0; i--) { a = a * b; } CFAbsoluteTime t2 = CFAbsolu

  • 時間計測、および自動開放プール - It_lives_vainlyの日記

    お気軽なパフォーマンス計測のためにも、経過時間計測は重要. ...時間計自体は簡単なんだけれども、自動開放プールの働きがよく分かっていなくてはまりました. この辺は慣れの問題だよな... NSDate 時間オブジェクト. 以下のように利用することで、二つの時間オブジェクトの経過時間を計測できる. >|objcpp] NSDate* a_dateStart = [NSDate date]; ... //何からのコード NSDate* a_dateEnd = [NSDate date]; NSTimeInterval a_time = [a_dateEnd timeIntervalSinceDate:a_dateStart]; | NSTimeInterval は、double の typedef になっていて、1秒単位での時間の取得が可能. ミリ秒/マイクロ秒は小数部に入る. 他には、 ti

    時間計測、および自動開放プール - It_lives_vainlyの日記
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • おめがブログ - iPhoneのメモリ管理

  • iPhoneアプリケーション開発: Objective-Cにおけるメモリ管理

    メモリ管理の大まかな原則 C言語と共通の部分について、メモリ管理で気をつけることは特にありません。Cで気をつけることと共通です。 自分がmalloc()で確保したメモリは忘れずfree()で開放しましょうということだけです。従って、多くの場合に問題になるのはObjective-C固有の部分です。 Objective-Cのオブジェクトはretain countというものを持っています。生成すると0から1になります。 そのオブジェクトに関連付けられている変数名でretainをすれば、カウントが1増えます。 releaseをするとカウントが1減ります。run loopと呼ばれるシステムへの応答処理へ入った時、 このカウントが0になっているものはメモリ上から消えるようになっています。 autoreleaseとした場合には、適当と思われる部分で自動的に開放されるので、自分でreleaseを行う必要は

  • 川の流れに月の影 iPhoneのメモリーリーク

    scan-buildでメモリリークを発見する方法のメモ 準備 clangのインストール ダウンロードしたファイルを解凍 中のフォルダとファイルをすべて/usr/local/binにコピーする (/usr/loca/bin/にパスが通っていることを前提) 使う コマンドでXcodeのプロジェクトファイルのパスに移動 scan-build xcodebuild (解析結果は,htmlで書き出され,-oで出力先のパスを設定できる.デフォルトは/tmp.) 元情報:sonson@Picture&Software 感謝(^^ by thank you.

  • iPhoneのメモリ使用状況が分かるアプリ Memory Statusを試してみた - VERSATILE CRIB FUNK

    iPhoneはとにかく良くアプリが落ちるわけだが、 原因はメモリ不足だと言われている。 実際自分でiPhoneを使っていても、とにかく良くアプリが落ちるので、 iPhone内部ではどのようにメモリ資源を使われているのか気になっていた。 そんなところで、でてきたアプリがこの「Memory Status」だ。 メモリ使用状況を円グラフで表示するだけのシンプルなものだが、 この情報をしりたい人は多いに違いない。 230円の有料アプリだが気になるものは仕方ない。早速ポチっといってみました。 見方は 赤=固定メモリとして使用(OSとかかな?) オレンジ=使用中でアクティブなメモリ 青=使用中だけどアクティブでないメモリ 緑=使っていないメモリ 要するに、緑が狭くなってくると落ちたりしそうな感じだ。 では、早速いろいろ調査を行ってみた。 注意として、MemoryStatus画面上のReloadボタンを

    iPhoneのメモリ使用状況が分かるアプリ Memory Statusを試してみた - VERSATILE CRIB FUNK
  • releaseの使いどころ : As Sloth As Possible

    俺もメモリ管理を間違えて頻繁にアプリを落としてしまうゆとりプログラマなのであんまり偉そうなことも言えないのだけど、「releaseの使いどころ。メモリの辺りがどうしてもわからない。」を読んでいくつか思ったところがあるので書いときます。 「何度もinit」はしない 既に確保されているハズの変数を二度initするのはメモリリークだよね? 解放されている変数は、 if (obj == nil) では判別できないのだろうか。 ボタン押下時などに、同じロジックを走ることが多くて、何度もinitをしてしまうことが多いのだが。。。。 具体的なコードを見てないので間違ってるかもだけど、多分これ「何度もinitしちゃう」じゃなくて「開放してないオブジェクトを参照してる変数に、何度も新しいオブジェクトをつっこんじゃう」ってことだと思って話を進める(そうすると、どこからも参照が辿れないのにメモリが開放されてない

    releaseの使いどころ : As Sloth As Possible
  • EXEC_BAD_ACCESSのデバッグ方法 - Paradigm Shift Design

    xcodeでプログラムを書いていると、メモリ管理なぞ忘却のかなたなので、リークしていたり、解放済みのメモリにアクセスしていたりと、問題が多々ある。 xcodeでのデバッグコンソールは、基的にgdbなので、VisualStudioで開発するようには簡単に問題箇所を見つけ出すことができない。 ポインタに対する不正なアクセスは、大体のところ プログラムはシグナルを受信しました:“EXC_BAD_ACCESS” というメッセージが出るだけで、「どこでそれが起こったのか」についての何の手がかりも与えられない。Breakすらしない。 さすがにこんな状況でデバッグしている人はいないだろうと、検索をかけてみると、 DebuggingAutorelease - CocoaDev NSZombieEnabled - CocoaDev あたりが役に立ちそうである。 とりあえず色々試行錯誤してみたが、NSZom

  • 【iPhone】メモリ不足時のシミュレートとデバッグ | iphoneアプリで稼げるのか

    iPachiで起きていた不具合なのですが、 特定の画面を表示中にメモリ不足に陥り didReceiveMemoryWarningを受け取ると アプリがクラッシュするという問題をついに 解消しました。 didReceiveMemoryWarning後にクラッシュするので メモリ管理でどこかがおかしくなっているのだろうとは 予想がつくのですが、いかんせん貧弱なエラーメッセージの ため、まったく発生元がつかめませんでした。 EXC_BAD_ACCESSとか言われてもさっぱりわからんです。 が、すばらしい記事をみつけました。 NSDebugEnabled これでクラッシュをおこしているオブジェクトの生成場所を 特定できるので、格段にデバッグ効率があがります。 というわけで、エミュレータでのメモリ不足時のシミュレートと デバッグのための設定をまとめます。 エミュレータでのメモリ

  • iPhoneSDK + ObjectiveCにおけるメモリ管理のはまり所 - mswar's はてなブログ

    まずは公式のObjectiveCのメモリ管理を読むべきである。(読まないと始まらない) http://developer.apple.com/jp/documentation/cocoa/Conceptual/ObjectiveC/4objc_runtime_overview/chapter_8_section_2.html そして、この辺が具体的なサンプルコードもあってよくまとまってる http://wwwa.dcns.ne.jp/~nito/CocoaClub/article01.html http://wwwa.dcns.ne.jp/~nito/CocoaClub/article02.html http://wwwa.dcns.ne.jp/~nito/CocoaClub/article03.html http://wwwa.dcns.ne.jp/~nito/CocoaClub/art

    iPhoneSDK + ObjectiveCにおけるメモリ管理のはまり所 - mswar's はてなブログ
  • iPhone向けサイトを考える:静的コード解析をしてメモリリーク等を教えてくれるclang

    2008年12月04日 静的コード解析をしてメモリリーク等を教えてくれるclang clangというのが便利でした。Xcodeのプロジェクトを解析して、メモリリーク等のバグをHTML形式で吐いてくれるツールです。 iPhone SDK向けのコードを静的コード解析する Macユーザーは使い方分かると思います。以下、僕みたいにWinを使ってたけどiPhone開発のために初めてMacを触った人向け。 root権限がない ここからビルドされたパッケージをダウンロード.ダウンロードしたファイルを解凍し,中のフォルダとファイルをすべて/usr/local/binにコピーする.(/usr/loca/bin/にパスが通っていることを前提) Finderで普通に見ると/usrがない。困った。ターミナルから覗くとどうやらあるっぽい。cpしようとすると、root権限が必要って怒られた(´・ω・`) アプリケーシ

  • tv-game.jp» ブログアーカイブ » iPhone objective-C 静的解析ツール「clang」メモリーリークに有効

    iPhoneの開発をしていると、どうしてもぶつかる壁。。。メモリー iPhoneのメモリーは極端に少ないから、メモリーをこまめに管理する必要がある。 メモリーを解放せずに、続行してると、メモリーリーク(メモリー不足)で強制終了しちゃう んで、Xcodeで開発してても、それだけぢゃメモリーリークまでは気づきにくい。 そこで、clangというpythonでできたツールを導入。 これをターミナルから実行すると、プロジェクトの結果を任意の場所にHTMLで出力してくれる。 んで、そこにメモリーリークの注意とかまで書いてある。 しかも、かなりわかりやすい。 Clang Static Analyzer ここでダウンロードして回答したものを下記にコピー。 /usr/local/bin もちろん、ここにコマンドが入るからパスが通ってないとだめ。 んで、調査した

  • 1