2011年11月17日木曜日

Livevewアプリケーションを終了させないようにして切断されるのをできるだけ防止する。 その2

前回、Linux的にoom killer 対策をしてみましたが、なぜかPIDがコロコロ変わるので意味がありませんでした。

次は、build.prop に常駐HOMEアプリのように記述してみます。



# Exempt oom killer      
sys.keep_app_1=com.sonyericsson.extras.liveview 
こんな感じ。

さて、どうなることか、、、、、、



----
この設定で1日使ってみたところ、驚くほど切断がありませんでした。(日中1度だけ)
フリーズもなし。

ただ、電池がいつもより恐ろしく早く減りました。

。。。もうしばらくこの設定で様子見してみます。

2011年11月13日日曜日

Livevewアプリケーションを終了させないようにして切断されるのをできるだけ防止する。

以前
LiveViewアプリを事あるごとに起動させて、切断しても再接続する可能性を上げる
なんて事をやっていますが、今回はLiveviewアプリケーション自体、なかなか落ちないようにしちゃえと言う試みです。

Androidは、LowMemoryKillerって仕組みと、そもそもLinuxのOOMKillerってのでメモリが枯渇した場合でもシステムが落ちないようにしているようです。

で、Liveviewアプリケーションがシステムに終了させられると切断が起きる(と思ってる)

なので、とりあえずAndroid特有のLowMemoryKillerは、さておき、Linuxで同じみのOOM対策をLiveviewアプリケーション用に行います。

asb shell で端末に接続して、


#ps |grep com.sonyericsson.extras.liveview


で、LiveviewアプリケーションのPIDを探します。


app_81 2470 1224 128424 28672 ffffffff afd0c75c S com.sonyericsson.extras.liveview


今回のPIDは2470でした(当然起動するたびにPIDは変更されるので)


PID2470のOOM_adjの中身を書き換えます。


# echo -17 > /proc/2470/oom_adj


標準は4でした。上記コマンドで-17に書き換えます。


以上で知識ベース上ではLiveviewアプリケーションがOSに終了させられることはなくなったハズです。

これで様子を見てみます。