ページ

2012年4月25日水曜日

mac:Objective-C メモリ管理の重要さというか面倒臭さ

今、仕事で作成しているPGが LEOPARD以上向けなので、ARCが使えない。
なので、release / retain / autorelease を駆使して、メモリ管理をしなくてはならない。

しかし、これがまた面倒だ。

なんとなく覚えた(知った)メモリ管理の作法としては・・・

・自分で alloc init (copyも)したオブジェクトは「必ず」自分で release する。
・自分で retain したオブジェクトは「必ず」release する。
・オブジェクトの入れ替え時には、過去のものは「必ず」release する。
(release してから オブジェクトの生成。いきなりオブジェクトを生成しない)
・それ以外は release しない。
・コンビニエンスコンストラクタで作成された使い回しする予定のオブジェクトは、retain しないと、後々開放されてしまう。

java はその点簡単で良かった。
その分、メモリを大量に消費してしまうが。

2012年4月21日土曜日

mac : Objective-C のクラス(1)

当分の間、仕事のためにObjective-Cの勉強をしなければならない。
まぁ、敵を知り己を知ればなんとやら・・・と言うことで、頑張っていこう。

で、クラスの作成時の基礎的なもの。
・クラスのテンプレートとして、初期化、終了処理は以下のようにする。

#import "TemplateClass.h"

@implementation TemplateClass
- (id) init
{
    self = [super init];
    if (self != nil) {
        // ここに初期化処理を記述する
    }
    return self;
}

- (void) dealloc
{
    // ここにreleaseするobjectや、終了処理を記述する
    [super dealloc];
}
@end

ただしARCが有効な場合は、deallocの記述中でreleaseやsuper deallocをしてはならない。
(xcode に怒られる)


2011年6月25日土曜日

Galaxy S2 USBマスストレージの不便を緩和

久しぶりの投稿。

Galaxy S2 はS1と違って、USBを繋いだ時に自動的にマスストレージモードにならないらしい。(どうやらKies を使って欲しいらしく、そちらメインになっていてウザイ)

2011年3月27日日曜日

ニコニコ動画の再生失敗、読み込めない状態を緩和してみる

IE8でニコニコ動画の再生失敗、読み込み失敗等を突破する方法を考えてみた。
nicovideo viewerのサイト を利用すれば、見られる事も多いので、IE8の右クリックメニューからこのサイトを呼び出せるようにしてみる。

2011年3月24日木曜日

python + tweety ふたば2次裏may スレチェッカー

というわけで、目的のふたば2次裏mayスレチェッカーを作ってみた。
特定のスレの作成を検知して、twitterにて通知してくれるツール。

python + tweepy でお手軽 bot 作成

お題のとおり、お手軽bot作成を目指して、以下のものを用意した。
・python windows 64bit 環境
・tweepy

アカウントを作成し、適当に呟かせてみたところ、なかなか良好な結果を得られた。
目的を果たして一安心だが、Twitter&bot作成 初心者の自分ならではの引っかかった点が一つ。

「tweepy.error.TweepError: Status is a duplicate.」
というエラーメッセージが出てツイートに失敗する。
あまりTwitterに詳しくなかったせいか、いろいろと調べてしまったが、結局のところ、「同じメッセージ内容を連続で呟くんじゃねぇ!!」と怒られていたらしい。
確かに、テスト時には「test」とかのツイートを良く使っていたため、同じ内容になってしまっていた。
「test1」「test2」とかならOk。
初心者ならではのポカですなぁ。はぁ・・・。

2011年3月19日土曜日

Activity を透明化し、起動を格好良くする

BothWings アプリの起動時、どうしてもアクティビティが出てきて、画面が一瞬真っ暗になる。
その課題をクリアするためには、「アクティビティの透明化」 を行うと良いとのこと。




android:thema を追加してやれば、良かったらしい。