Monthly Archives: 4月 2010

Activityとマルチスレッド

Android のマルチタスク: 最近のちょっ得
うーん、原則論で言えばActivityが作ったスレッドはonPause時点で責任を持って落とすべきじゃないですかね。
というのは、onPause以降は単に力任せにkillされる可能性があり、ActivityはonPause以降の挙動について事実上なんら保証していないからです。最悪の場合、onPauseの1ミリ秒後にkillが飛んできても泣かない作りにしておくことが(本来は)求められますよね。
逆に言うと、onPause以降にも動作して欲しいものがあるならそれはServiceにすべき、ということになるかと。
ていうかstopSlef()していないServiceが問答無用でkillされるケースってあるんでしょうか?
(なんか俺勘違いしてるかも)

そんなにWakeLockするアプリって多いのかな

猫砂の惑星: xperiaのバッテリー消費を確実に抑えるには?
WakeLockしてるアプリをアンインスコせえ、という話。
これはそうだと思う。
タスクマネージャを使うと電力消費が減るってのが俺にはさっぱり実感できなかったんだど、WakeLockするようなアプリを入れてたら、それをたまたま殺した時に劇的にバッテリ持ちが良くなる、というのは「あーあるかも」と思った。
(そもそも俺はそんなアプリ入れないので……)
でもそんなやたらめったらWakeLockするのって普通に考えておかしいので、多分WakeLockしたままreleaseし忘れている(Lockがリークしてる=実装がバグってる)アプリがあるんじゃないかなぁ。
もしくはあまりに不用意にWakeLockするアプリが多いのか。
でも、そんなに長時間WakeLockを離さないようなことしたら作者だって気づくはずで、ぶっちゃけデバッグしてなさすぎだろうどんなクソアプリだよと言いたいのだけど……

Androidのマルチタスクの話をしてみる(2)

あくまでAndroid開発者ではない、iPhoneユーザとか非開発者向けの話です。
前回の後、ブコメで疑問が付いてたのでサービス(Service)の話を簡単に。

Read more …

iPhoneOS4.0がマルチタスクになるらしいのでAndroidのマルチタスクの話をしてみる(1)

まあ俺は一応iPhoneオーナーではありますが、ほぼ全くと言っていいほど使っておらず、またiPhone開発者ではないのでiPhone開発者の心境なんて知る由もないですし、iPhone開発者になる気も無いし(でも仕事上やむを得ないなら何だって書くけどね)、iPhoneOS4.0ベータ版にも触れてないから詳細は知らないけど(そして今のところ触る気もないけど)、とりあえず雑感。
その前に巷で恐ろしく誤解の多そうなAndroidのマルチタスクの初歩の初歩的な話からします。
メモリをどうやって節約してるとかそういう話はあるのだけど、そもそもそれ以前の人があまりに多く見受けられる(というか酷いことにジョブスも勘違いしているようにしか見えない)ため、物凄く初歩的な話をします。
なるべく非プログラマのどちらかというとiPhoneユーザ向けのつもり。そのレベルの人があまりに多く勘違いしているので。

Read more …