タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Androidとprogrammingとkillに関するastk_fのブックマーク (3)

  • アクティビティ、アプリの終了方法 - 戌印-INUJIRUSHI- (Androidあれこれ) -

    アクティビティ、または、アプリを終了させるには複数の方法が存在します。 この記事を書くにあたり、てくめも様のSystem.exit() を使ってはいけない理由と、終了方法のまとめを参考にさせて頂きました。 ①Activity#finish() アクティビティをライフサイクルに沿って正しく終了させる唯一の方法。 起動アクティビティの場合は、アプリを終了する(※)。 終了と書いてあるが、Android OSに対して終了通知を送るだけで、呼び出された直後に終了するわけではない。 そのため、finish()以降に処理が記述されていれば記述された処理は実行されてしまう。 なお、Android端末の戻るボタン押下時にも呼ばれている。 ※ここでのアプリ終了はアクティビティが全て閉じられた状態であり、プロセスを完全に終了させるわけではない。プロセス終了のタイミングはAndroidのOSに依存する。 ②Ac

  • Androidで死なないServiceを実装してみた

    Androidでサービスを使ったアプリを作った事がある人なら分かるかと思いますが、「サービスを死なないようにする」、これがなかなか難しいです。 Developerサイトに説明されているサービスにライフサイクルによれば、サービスが死ぬ前にonDestroy()がコールされるのですが、これがコールされずに突然プロセスごと消滅することが多々あります。 例えば、フォアグランドで動いているアプリが大量にメモりを消費するとき。システムはメモリを確保するためにバックグラウンドのサービスを瞬殺します。悪・即・斬です(笑) また、軽い気持ちでインストールされてしまっているタスクキラーやメモリクリーン系のアプリが動いたとき。この時もサービスは悪・即・斬です(いや、悪ではないんですけどね) その他、サービスがなにも仕事をしない状態で放置しながらlogcatのログを眺めていると、以下のようなログがでることがありま

    Androidで死なないServiceを実装してみた
  • Androidのプロセスがkillされる基準 : Happy my life

    今回はAndroidLinuxカーネルな話題をひとつ。 AndroidLinuxカーネルには、メモリの空き容量が少なく(ある一定値以下に)なった場合に、プロセスを強制終了(殺す)仕組みが備わっている。 AndroidLinuxカーネルにはその機能が2つ備わっていて、一つがOOM(Out Of Memory) KillerというLinux家での実装と、もう一つLow Memory KillerというAndroid特有の機能として実装されているものがある。 じゃあ、OOM KillerとLow Memory Killerと何が違うのか? その答がAndroid Kernel Features – eLinux.orgのoom handlingに書いてあったので紹介(Thanks @androidzaurus) OOM Killerは、シンプルな機構で空きメモリが足りなくなったらサクっと

  • 1