【質問】バックグラウンドに回っても落ちないプロセスにする方法

2,220 views
Skip to first unread message

三宅義之

unread,
Nov 7, 2014, 12:38:35 AM11/7/14
to android-g...@googlegroups.com
いつもお世話になっております。


ご教授頂きたく存じます。

バックグラウンドに回って、メモリが圧迫されたり、長時間放置されるとプロセスはシステムから強制終了させられたりしますが、
Serviceの場合、startForeground ()でその頻度を軽減したりしますが、Activityの場合、そういった回避方法をないのでしょうか?

Hirokazu Fukami

unread,
Nov 7, 2014, 12:59:18 AM11/7/14
to android-g...@googlegroups.com
こんにちはfkmです

Activityの場合、プロセスは停止されるもの として開発しなければなりません。
4.0以降の場合、設定->開発者オプション で、Activityを破棄にチェックを付けたり、
バックグラウンド処理を制限 で許可しない とすることで、即座にプロセスが止められるケースでテストができます。

ということは、回避策はおろか、すぐ止めてしまう環境もある という前提で開発しないと、まずいですよね。


--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Hiroaki GOTO as GORRY

unread,
Nov 7, 2014, 2:12:12 AM11/7/14
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。

AlarmManagerで定期的に叩き起こしてやると、「放置されていない」
ことになるため、結果的にバックグラウンドに回ってもkillされにくく
なります。
また、killされても一定時間後に再び起き上がれるということでも
あります。定期起動は、こちらを本来の目的として考えるべきです。

ただし、以下のことを理解しておく必要があります。
・他のプロセスもそうしているために、結局は競争であること。
・定期起動はバッテリー浪費に繋がること。
・うまく作らないと「ユーザーの意思に関わらず定期起動し続けるアプリ」に
なってしまうこと。


In message <1f99cb31-2d11-4275...@googlegroups.com>
"[android-group-japan: 28469] 【質問】バックグラウンドに回っても落ちないプロセスにする方法"
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。



--
Hiroaki GOTO as "GORRY" : 後藤 浩昭
EMAIL: gorr...@gmail.com
Reply all
Reply to author
Forward
0 new messages