Activity?
Androidプロジェクトを作成すると、いくつか自動でファイルが生成されますが、
その中のメインクラスっぽいクラスが「Activity」というクラスを継承していました。
アクティビティという言葉を見た瞬間、なんか聞き覚えがあるなぁと思ったら、
UMLで特殊な状態遷移を表す「アクティビティ図」というのがありましたね。
普段使うのはクラス図やシーケンス図くらいなので、すっかり忘れていました。(笑)
話を戻して、AndroidのActivityとは「アプリの一つの画面」であり、
画面を表示したり、入力を受け取ったりと様々な処理を受け持つクラスのようです。
iアプリで言えば「Canvas」や「Panel」あたりになるのでしょうか?
ユーザーとのインターフェース的役割を持つクラスと言ってもいいのでしょうね。
Activityというだけあって、別の画面(Activity)に遷移したり、
逆に戻ってきたりすることも出来るみたいですが、
画面遷移を行うときは、元のActivityをスタックに残すそうです。
Androidケータイを最近初めて触って、戻るボタンの存在を知りましたが、
戻るボタンはスタック内のActivityをPopしているのか、と少し驚きました。
iアプリを作っていたころは、一つのCanvas内で画面遷移を行っていたので、
こういう考え方はちょっと新鮮な感じがしました。
もしかしたら、ゲーム系アプリは結局同じなのかも知れませんが。(苦笑)
しかし、スタックに貯めるとなると気になるのがメモリ。
いくら昔より性能が良くなったとはいえ、ぽんぽん画面遷移するアプリなんか作ったら、
スタックオーバーフロー的なエラーが発生するのでは?と気になったりします。
それとも、スタックが貯まったら強制的にfinish出来たりするのかも知れませんね。
まだ勉強不足、というより、始めたばかりでさっぱりですが。
業務用アプリなんか作っていると、メモリに関するエラーは深刻なので、
たとえ趣味だとしても、そのあたりには気をつけて作りたいものです。
とここまで書いて、いい時間になってきたので今回は終了。
まともなゲームやツールを作れるようになるのはいつになることやら……。
2010/03/08(月)22:30
[1] YOU
スタックできないと高速な描画も難しいのでゲームを作る点ではかなり有利ですね。
実際iアプリのモッサリ感はどうにかしてほしいです。
[2] JUN
>>YOUさん
iアプリというより、最近の携帯自体がもっさりしている気がします。(苦笑)
Androidがそのあたりを解決してくれる救世主となってくれれば嬉しいのですが……
BACK WRITE