タグ

_memoryに関するmistofforestのブックマーク (16)

  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2022年7月時点の調査。

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

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

  • NSAutoreleasePool はどこまでやってくれるのか - webとかmacとかやってみようか

    iphone開発ではガベージコレクションは使えないため、alloc/releaseを使って自分でメモリ管理を行う必要があるのはどの入門書にもあります。また、それを便利にするための NSAutoreleasePool というのがあり、それもよく使います。しかし、この NSAutoreleasePool はどこまで面倒を見てくれるイマイチよく分からなかったため調べてみることにしました。 はじめに NSAutoreleasePoolのおさらい。NSAutoreleasePoolのインスタンスを alloc 、init で作成して使いますが、iphoneの場合、プールが最初に作られるので明示的にプールを生成しなくても使えます。プールにオブジェクトを登録するには NSObjectの autorelease メソッドを使います。 NSAutoreleasePool *pool = [[NSAutore

    NSAutoreleasePool はどこまでやってくれるのか - webとかmacとかやってみようか
  • ykmt : mac » retain, release, autoreleaseについて考える

    Objective-C のコードを書いていると、理解しているはずなのに、ときどきわからなくなる。 そう、retain、release、autorelease の3兄弟だ。 この例はとってもシンプル。何をしたいのか理解できないが。 - (void) hoge: (id)obj { UIView *aView = [[UIView alloc] initWithFrame:CGRectZero]; [myView addSubView:aView]; [self hoge:obj]; } どうやら UIView のインスタンスを作って、myView に追加したいらしい。 だけど、このコードだと、aViewがメモリリークする。 2行目で、aViewのretainCountが1になる。 3行目で、myViewがaViewを使うことになるので、aViewのretainCountが2になる。 そして、

  • [Xcode][IB] IBOutletやIBActionをマウス操作で接続 | Natsu note

    Xcode4からは、IBとXcode(ソースとヘッダ)をマウス操作で接続できるようになりました。この機能は、私のお気に入りのひとつです。かなりの時間短縮に貢献してくれています。 アシスタントエディタを使う Xcodeでnibファイルを表示したら、アシスタントエディタを使うのがベストです。 アシスタントエディタは、Xcode右上にあるAssistant Editorボタンを押すか、メニューから”View->Assistant Editor->Show Assistant Editor”を選択することで表示可能です。 さらに、表示するファイルを”Automatic”としておきましょう。これで、メインエディタに表示中のnibファイルに対応したヘッダファイルが自動的に表示されます。 まずはOutletを接続 では、実際にviewの上に新しいボタンを設置してみましょう。ボタンを追加したら、Contr

  • [ARC][Xcode 4.3] プロパティのデフォルト属性が変更に! | Natsu note

    先日App StoreからリリースされたXcode 4.3ですが、個人的には結構驚きな変更がありました。ARCを利用している場合に、プロパティのデフォルト属性(オブジェクトの所有に関する属性)が変更になっているではないですか。 これまでのデフォルト属性はassign オブジェクトの所有に関するデフォルト属性は、これまでassignでした。したがって、オブジェクトのプロパティで属性指定を行わないと警告が出ていたと思います。 また、Xcode 4.2 + ARC環境では属性指定は必須でした。これは、readonlyプロパティのときも同様です。属性を指定しないとエラーとなります(参考:[iOS5] ARC : プロパティ属性と使い方)。エラーになるのは、インスタンス変数生成時にどの所有修飾子をつけていいか分からないためです。 Xcode 4.3 + ARCでのデフォルト属性はstrong Xco

  • 頭と尻尾はくれてやる! @propertyでnonatomic指定していいの?

    さて、じゃんけんゲームアプリ作成の続き。 iPhoneアプリを作ってみよう:第1回 じゃんけんゲーム(#3.IB+Xcode連携編) - もとまか日記 ここで、jankenViewController.hってファイルに @property って記述があります。 ふんふん、コレ前に見たことあるぞ。 Objective-Cのクラス定義を理解しよう - @IT ここで読んだな。 はて? @property(nonatomic , retain) 以下略 なんてあるけど、nonatomicってなんだ? と思い、調べてみました。 Objective-C 2.0プログラミング言語: プロパティの宣言と実装 このページには、 nonatomic 合成されるアクセサが非アトミックになるように指定します。 デフォルトでは、合成されるアクセサはすべてアトミックです。これは、マルチスレッド環境でプロパティへの堅

  • http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml

    File names for categories should include the name of the class being extended, e.g. GTMNSString+Utils.h or GTMNSTextView+Autocomplete.h Within a source file, Objective-C++ follows the style of the function/method you're implementing. In order to minimize clashes between the differing naming styles when mixing Cocoa/Objective-C and C++, follow the style of the method being implemented. If you're in

  • 『iPhoneアプリ開発、号外 propertyをちょっと調べてみた』

    今回、参考にしたSQLiteBooksのAppDelegate.hに限らず、Appleのサンプルソースは基@property使い倒しなんで、一度、ちゃんと調べないといかんすね。 @property (nonatomic, retain) NSMutableArray *books; とかな。 関係ないけど #import "Book.h" #import "MasterViewController.h" なんてせずに @class Book, MasterViewController, ... としてるのは「iPhoneアプリ開発、その(40)」でも書いたように依存度を減らすためです。ちゃんとAppleのサンプルもやってますな。 で、題。 @property (nonatomic, retain) NSMutableArray *books; てのは「Objective-C 2.0プロ

    『iPhoneアプリ開発、号外 propertyをちょっと調べてみた』
  • iPhoneアプリケーション開発: getterおよびsetterと@synthesizeの関係

    getterとsetterとは まずは簡単な例として@propertyで外部から読み書きともにアクセス可能な変数について考えてみます。 外部からオブジェクト内の変数などへアクセスする場合、たとえばオブジェクト外部においてmyObjectという名前で宣言したオブジェクトにある、 myValueという名前の変数なら、 myObject.myValueと書いたものを式の右辺におけば現在の値を取り出せます。逆に左辺におけば外部から値を変更することが出来ます。 このときオブジェクトの内部ではゲッターやセッターと呼ばれるものが働いています。例えば先ほどのmyValueがNSInteger型の変数だとすると、 値を入手する場合には

    mistofforest
    mistofforest 2011/02/06
    self.value = でセッターが呼び出される
  • iPhone開発向けTips(メモリリーク版) - もとまかのiPhone・iPod touch戯れ日記

    最近、メモリリークに興味があるので(言い回しが変ですが)色々と調べてみました。 clangでObjective-Cプログラムを静的解析http://kirika.la.coocan.jp/acts/cocoastudy/200807/clang-static-analyzer.html iPhoneアプリ開発にかかせない静的解析ツール「clang」http://blog.asial.co.jp/504 [iPhone SDK] iPhone SDK向けのコードを静的コード解析するhttp://son-son.sakura.ne.jp/programming/iphone_sdk_iphone_sdk.html 静的コード解析をしてメモリリーク等を教えてくれるclanghttp://blog.livedoor.jp/hayashi311/archives/615456.html iPhone

  • Cocoaの日々: CoreData - 大量データを扱う場合のメモリ利用量を減らす

    データ件数は、Customerが 500件、Karteが6,000件(Customer1件につきKarte 12件)となっていて、それぞれを1つの CSVファイルへ書き出す。 処理は次のような感じになる。 NSMangedObjectContext* moc = [取得]; NSArray* customers = [moc Customer全件取得]; for (NSManagedObject* customer in customers) { NSArray* kartes = [moc Karte取得・条件:customer]; for (NSManagedObject* karte in kartes) { [CSV1行書き出し]; } }メモリのフットプリント(利用状況)はこんな感じ。 Customer, Karte を1件づつ読み込む度にメモリが消費され、フットプリントが増大し

  • iOSアプリ開発のメモリ管理で気をつけること - A Day In The Life

    Objective-C での開発にだいぶ慣れてきたのですが、いまだメモリ管理まわりでハマることが多いのでまとめてみました。 メモリを確保してから解放するまでの流れ メモリを確保してから解放するまでの流れは以下の図のようになります(図はアップルのサイトから引用)。 alloc または init すると参照カウントが1になります alloc または init 系メソッドを呼ぶと参照カウントが1になります。 このように書いたのは、クラスの仕様によって alloc メソッドで retainCount が1になるオブジェクトと init 系のメソッドで retainCount が1になるオブジェクトがあるためです。alloc と init はセットで呼ばれることがほとんどなのでこの違いが問題になることはないと思いますが念のため。 int main() { /* allocで参照カウント1 */ NS

    mistofforest
    mistofforest 2011/01/28
    NSStringのrelease
  • iPhone/kisokarano - 製作用備忘録 Wiki*

    ~117までの内容 iPhoneのアプリケーションスタイルやユーザーインターフェースの一覧 どういう分野に属するかというのをちゃんと把握しておくようにApple側が推奨している デザインパターンみたいなのがあって、それに合致しているかを見るのだそう。 iPhone SDKの制限事項 - アクセス可能なリソースの範囲 - 公開可能なアプリケーションの種類 Interface Builderを用いたアプリケーション開発 リソースの追加法 テキストや画像などの属性(キャプションやサイズ、背景色など)の内容、および設定方法 Interface Builderにあらかじめ用意されている処理をターゲット(ボタンなど)に埋め込む方法など (たとえば、ブラウザアプリの「更新」などは、あらかじめInterface Builderに定義されている) 自前コードのインスタンス変数やメソッド(アクションメソッド)

    iPhone/kisokarano - 製作用備忘録 Wiki*
    mistofforest
    mistofforest 2011/01/03
    AppStore掲載条件、autorelease
  • メモリ管理を理解する(後編)

    メモリ管理を理解する(後編):Cocoaの素、Objective-Cを知ろう(8)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) メモリのretainやreleaseの定石 前回「メモリ管理を理解する」では、オブジェクトの所有権の取得と解放の基的な仕組みについて説明しました。 ここで紹介したようなごくシンプルなプログラムであれば、どこでretainし、どこでreleaseするかについてあまり迷うことはないでしょう。 しかし、一般的なアプリケーションの規模になると、多くのクラスやオブジェクトが複雑に関わってきますし、それらを多人数で分担して開発する場合もあります。 そうなると、releaseを忘れて不要なオブジェクトがメモリ上に溜まっていき、メモリをいつぶしてし

    メモリ管理を理解する(後編)
    mistofforest
    mistofforest 2011/01/03
    initWith〜だとautoreleaseは呼ばれない
  • Google Objective-Cスタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • 1