スキップしてメイン コンテンツに移動

SherlockFragmentActivityのライフサイクルメモ

対象メソッド

  • protected void onCreate(Bundle savedInstanceState)
  • protected void onSaveInstanceState(Bundle outState) 
  • protected void onRestart() 
  • protected void onResume() 
  • public void onDetachedFromWindow() 
  • public void onAttachedToWindow() 
  • protected void onPause() 
  • protected void onStop() 
  • protected void onStart() 
  • protected void onDestroy() 

挙動

以下の操作時に対するNexus 7 2012のログです

本アプリ起動
  1. onCreate
  2. onStart
  3. onResume
  4. onAttachedToWindow

端末回転
  1. onPause
  2. onSaveInstanceState
  3. onStop
  4. onDestroy
  5. onDetachedFromWindow
  6. ーーーー
  7. onCreate
  8. onStart
  9. onResume
  10. onAttachedToWindow

スリープ
  1. onPause
  2. onSaveInstanceState
  3. onStop

パワーON
  1. onRestart
  2. onStart
  3. onResume

パワーOFF
  1. onPause
  2. onSaveInstanceState
  3. onStop

戻る
  1. onPause
  2. onStop
  3. onDestroy
  4. onDetachedFromWindow

ホームボタン
  1. onPause
  2. onSaveInstanceState
  3. onStop

(ホームボタンを押下後)本アプリのアイコンクリック
  1. onRestart
  2. onStart
  3. onResume

「最近のアプリ」ボタン
  1. onPause
  2. onSaveInstanceState
  3. onStop

(「最近のアプリ」ボタン押下後)本アプリを選択
  1. onRestart
  2. onStart
  3. onResume

端末回転時と戻るの違いは、onSaveInstanceStateが呼ばれてるかどうか辺りですかね。

PR

コメント

このブログの人気の投稿

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Eclipseの高速化メモ

Eclipseが重いと一言に言っても、いろいろな工程での話があると思いますが、過去記事のなども含めてこの記事にピックアップしておきたいと思います。以下はWindows環境での話です。