[android]バックグラウンドのサービスが停止する
![]()
2009/09/18
- TAG
- android
常駐系アプリを作成する際、処理をバックグラウンドでサービスで走らせることがありますが、Timerなどでループ処理をしていた場合、停止してしまうことがあります。
これはバグではなくメモリ不足時にバックグラウンド処理を止めるというのはOS上の仕様ですが、Timerを止められると負荷が軽くなった後も再実行されません。スレッド等、中の処理を変えて試してみたのですが、Timerだとどうしても止まります。
そこで多少精度は落ちるだろうと考えられましたがここだけalarmmanagerで代用してみたところ重い処理が入ったときには遅れることがありますが止まることなく動作しました。ループの精度もTimerとの差はあまり感じられません。
Timerだとそのアプリ内プロセスのみで動いていたのがalarmmanager使うことで感覚的にはシステム側から要求するのでアプリ停止しても実行できているということでしょうか。
理由の詳細は突き詰められておりませんが、数日alarmmanagerでテストしておりますが停止することはないようです。
この件は引き続き調査中です。
トラックバック (0)
トラックバックURL: http://kiteretsu.kayac.com/cgi-bin/mt-tb.cgi/41
- android
- GravSynth
- IdeaPod
- tips
- UI
- activity
- air
- AIR本 Hello Air World
- andtroid
- Apple Store
- arduino
- AudioRecord
- bluetooth
- Funnel
- Gainer
- intent
- iphone
- ipod touch
- LED
- Lydian Chromatic Concept
- mapview
- mediarecorder
- Pen
- permission
- private trainer
- recoroid
- SD
- TelephonyManager
- TimePickerDialog
- YUREX
- アプリ
- ウェブで一発当てる方法
- ハッカソン
- マイク
- リリース
- ロクナナ
- ワークショップ
- 音楽
- 楽器
- 自己紹介
- 自己紹介
- 書籍
- 青山ブックセンター
- 閃考会議室
- 店舗
- 明和電機
- 録音


![_level0 [Flash Developers Blog]](/img/bnr_level0.gif)


コメントを投稿する