2011年11月23日水曜日

ARCについて

参照記事でお勉強↓
[iOS5] ARC (Automatic Reference Counting) : Overview
 
iOS5になってARC(Automatic Reference Counting)が話題になってますね。
iPhoneアプリ開発ではメモリの解放を、retain,releaseやdealloc,autolereaseでメモリを破棄してきました。
しかし、このARCを有効にすると解放宣言が書かなくて良いようです。
書かなくていいということは、書いてもいいかって それは違います。
ARCを有効にすると解放宣言はエラーになります。
ということは、既存のアプリはARCを有効にするとメモリ管理はエラーになるということなんですね。大変ーΣ(@o@)ノノ


 当初、「なんだ書かなくて良くなったらこれからのアプリ作るとき楽じゃん!」って思っていましたが、どうやらそうではないようですね。上のリンク先にもあるように「ARCはガーベージコレクションとは違います。あくまでも、コンパイラが一定のルールに則って適切な場所に適切なコードを入れてくれるものです」って書いてありました。


これまではヘッダファイルに、
@property( nonatomic,retain)って書いて、宣言した値を保持してきました。
 しかし、ARCではretain書いちゃ駄目なんですね。

ARCにおけるオブジェクトの考え方は、
  • オーナーのいる(強参照されている)オブジェクトは常に利用可能
  • オーナーがいなくなったら(スコープ外に出た場合も含む)破棄される
らしいのです。
 参照には2種類あり、strong referenceとweak referenceがあります。
オーナーになれるのはstrong referenceだけです。
他にも所有修飾子の使い方がありますが、今日はこの辺にしとこう。
ちょっと実際コード書かないと分からない。
やっぱりiOS5触りたいのでxcodeアップデートしよう。
Developer登録しましょう。生存戦略しましょうか。

2011年11月14日月曜日

androidのxml(Layout編)

Androidのxmlが何となくしか分かっていなかったので、ここにまとめておきたい。
まずLayoutはよく使う。リンク先は個人的に大変分かりやすくまとめられていた。

☆LinerLayout
縦と横の指定配置が可能。例えば、縦にbutton並べたり、横にbuttonを並べたり。よく使う。

☆FrameLayout
 ビューの重ね合わせが可能。

☆RelativeLayout
相対座標の指定配置が可能らしいが、私は主に画像の上に文字を表示したいときに使った。
 あっでも上手くすればFraneLayoutでも出来そう。
 ---------------------------------------------------
☆AbsoluteLayout
絶対座標指定の配置が買うらしいが、SDK1.5から非推奨。覚えなくても可(苦笑)
☆TableLayout
テーブルみたいに均等に表示が出来るらしい。使った事ない。