ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2011年12月14日 星期三

test android app state

看看 app 內部的變數,會因為 HOME, BACK 後重啟動而有不同嗎?
test app 就是用 一個 button,按一下 increase 一次 counter,然後看每次啟動 counter 是否被 reset。

import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.Button; import android.widget.LinearLayout; import android.view.View; public class testAndroidActivity extends Activity implements View.OnClickListener { final String TAG = "testAndroid"; LinearLayout layout; Button btn; int clickcnt = 0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); btn = new Button(this); btn.setText(Integer.toString(clickcnt)); btn.setOnClickListener(this); layout.addView(btn,150,100); setContentView(layout); Log.v(TAG,"onCreate"); } public void onClick(View v) { Log.v(TAG, "onClick"); clickcnt++; btn.setText(Integer.toString(clickcnt)); } 結果..

啟動 app,按button 3 次後, button 顯示 3,然後:
  1. 按下 HOME 後再重新啟動:一樣是 3
  2. 按下 BACK 後再重新啟動:顯示 0 (被 reset)
所以 HOME key 並不會destroy app... back 才會。

實際上, HOME 沒有 destroy app 的說法不一定成立。
.. 到 development setting,設定 "immediately destroy activity"
這樣按 HOME key 每次都會 destroy app..

看 logcat message... enable "immediately destroy activity" 時,
按下 HOME key 的行為就像按下 BACK 一樣 (對單一 activity 的 app 而言)。

沒有留言:

標籤

網誌存檔