> ただ、なぜ参照カウンタがinitWithFrame呼び出し終了時は1なのに対し、retain等を行っていないのに参照カウンタが2になっているかが分からない次第です。
メソッド「renew_page」内で、「addSubview:」を行ったあとで、サブビューにreleaseを行っていませんね?
UIViewクラスのリファレンス「addSubview:」から引用:
Parameters
view
The view to be added. This view is retained by the receiver. After being added, this view appears on top of any other subviews.
addSubviewすると、Retain Countが1増えます。(removeFromSuperViewでは、Retain Countが1減ります)
なので、addSubviewしたViewは、直後releaseを送るか、あらかじめ「autorelease」しておきます。
これは、NSArrayクラスが要素を追加したとき、要素オブジェクトをRetainするというふるまいに起因します。そのことを理解しておけば、ぎゃくにうまくメモリ管理を行うテクニックとして使えるんじゃないですかね?
補足
回答ありがとうございます。 addSubView後にreleaseするプログラムもあれば、しないプログラムもあったので盲点でした。 releaseとremoveSuperViewを試してみたのですが、今度は画面の散らつきとランダムでアプリが終了する状態になりました。 参照カウンタはremoveSuperView→releaseで2→0になり、nilを入れた後で再度同じ変数に対してinitWithFrameを使って再利用している状態です。