看板 AndroidDev 關於我們 聯絡資訊
想請問各位大大 我的app在一剛開始要如何判定 從0個 activity 的狀態變成 1個Activity 但不等於完整的App被關掉再開啟,因為有時候0個activity不代表App不在記憶體中了 另外,由於開啟activity不一定是透過 手壓App icon出現 (intent action: MAIN) 所以無法從 intent下手 主要是因為我想要一個activity A在 onCreate作一些事情 但是activity A 跳到別的activity B 的時候 再按 back 鍵回來,原先的activity A就有時候會從 onCreate開始作 (應該是被系統殺掉) 不知有甚麼好方法可以解決呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.3.187 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1414116552.A.A62.html
Deltaguita: 如果是程式初始化的動作不希望activity再做一次 10/24 11:18
Deltaguita: 你可以考慮把初始化的事情在Application類別實作 10/24 11:19
是想知道0個activity到1個activity的狀態 因為 0 activity不代表application已經死了,所以這方法不適合我的情境。 QQ
Deltaguita: 或是有一個計數的變數,在每次application onCreate() 10/24 11:22
Deltaguita: 設定初始值=0,Activity onCreate()的時候+1 10/24 11:23
Deltaguita: 這樣你就可以透過這個變數知道是不是第一個activity 10/24 11:24
這樣的話會造成每個activity在onCreate +1 onDestroy -1 然後在 onCreate時作判斷現在的值 可是這樣就變成每個Activity都要作這件事情 冏,這方法可能用繼承會好一點 謝謝大大的幫助! ※ 編輯: issuemylove (118.163.3.187), 10/24/2014 12:11:51
ckvir: 就建一個class裡面有static member用來存變數不就好了 10/24 13:47
issuemylove: 問題是這樣每寫一個activity都要在onCreate onDestro 10/24 18:18
issuemylove: y 那邊都要寫 感覺在專案裡面會有很多東西要改 冏 10/24 18:18
freesamael: 最好不要有這樣的設計,你想這麼做的理由是什麼?能 10/24 20:19
freesamael: 不能有其他替代的解決方案? 10/24 20:19
tac0wu: 在背景被gc的時候 會call onSaveInstance 來保存state 10/25 14:02
tac0wu: 在重新onCreate 時你可以在去 讀取之前的state 10/25 14:03
studentjason: 不知道寫一個繼承application的class ,在裡面做你 10/25 21:11
studentjason: 要做的軸,這樣是不是你想要的? 10/25 21:11
issuemylove: QQ 其實上面的方法幾乎都可行,但如freesa大講的 10/27 17:25
issuemylove: 程式的結構會潛藏危機 10/27 17:25
KeySabre: 寫一個BaseActivity讓專案內所有Activity繼承? 10/30 01:01
KeySabre: 若是AB執行順序固定,用forResult應該能保留A? 10/30 01:03