Androidでサービスを使ったアプリを作った事がある人なら分かるかと思いますが、「サービスを死なないようにする」、これがなかなか難しいです。 Developerサイトに説明されているサービスにライフサイクルによれば、サービスが死ぬ前にonDestroy()がコールされるのですが、これがコールされずに突然プロセスごと消滅することが多々あります。 例えば、フォアグランドで動いているアプリが大量にメモりを消費するとき。システムはメモリを確保するためにバックグラウンドのサービスを瞬殺します。悪・即・斬です(笑) また、軽い気持ちでインストールされてしまっているタスクキラーやメモリクリーン系のアプリが動いたとき。この時もサービスは悪・即・斬です(いや、悪ではないんですけどね) その他、サービスがなにも仕事をしない状態で放置しながらlogcatのログを眺めていると、以下のようなログがでることがありま
前回に続いてAIDLのお話です。今回はCallbackしてみます。 流れとしては、 ActivityでServiceをBind ServiceのCallback登録Interfaceをコール Serviceに実装したCallback登録Interfaceで、受け取ったCallback情報をリストに登録 Callbackリストを参照して登録されているCallback Interfaceをコール Activityに実装したCallback Interfaceでなんかする みたいな感じです。 図にするとこんな感じ。 で、コードです。 まずはCallback登録用のInterface。 package jp.xfutures.android.sample; import jp.xfutures.android.sample.ISampleServiceCallback; oneway inter
メールアドレスがこのグループでは匿名化されているか、メンバーのメールアドレスを表示する権限がないため、元のメッセージを表示できません 江川です。 何らかを定期的に監視し続ける、といった、ずっと動き続けるServiceを作ることが あると思いますが、私が初めて取り組んだときは、簡単なようで意外とハマりどころが あるなと思いました。このことは、いつの間にか落ちていたり、停止できなかったり するアプリを目にする機会が意外と多いことからも頷けると思います。 多分いろいろな実装方法があると思いますし、処理の特性によって最適な方法は 異なるかもしれませんが、私が一番簡単じゃないかなと思っている方法を述べます。 デベロッパーの方、情報交換させてくれませんか。 「おれ(わたしは)こうやってる」などのアイディアや「こうした方がいいんじゃないか」 といった観点があれば是非教えて貰えるとうれしいです。 ・息の長
Service API changes starting with Android 2.0 Watching developers use the Android platform the last year has shown a number of trouble areas in the Service API as well as growing issues in the ways services operate. As a result, Android 2.0 introduced a number of changes and improvements in this area for both developers and users. The three main changes to be aware of are: Service.setForeground()
Technicalまだ調査中ではあるのだけど、そんな動作をするようだ。 例えばandroidのServiceは、常駐させたりして使うこともある。そんなServiceが何らかの原因で例外を吐いて落ちたとき、1度目であればActivityManagerが5000ms以上の間隔を開けた後に再起動してくれる。 WARN/ActivityManager(53): Scheduling restart of crashed s... まだ調査中ではあるのだけど、そんな動作をするようだ。 例えばandroidのServiceは、常駐させたりして使うこともある。そんなServiceが何らかの原因で例外を吐いて落ちたとき、1度目であればActivityManagerが5000ms以上の間隔を開けた後に再起動してくれる。 WARN/ActivityManager(53): Scheduling restart
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く