綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] 呼叫內建相機拍完照第一頁的activity被回收的問題

[複製連結] 查看: 1372|回覆: 2|好評: 0
跳轉到指定樓層
樓主
lkk47 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-12-21 14:51

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 lkk47 於 2012-12-21 15:25 編輯

我的流程是這樣的 activity(1) > activity(2) > activity(3)  然後 activity(3) 是呼叫內建相機的activity , 當我到activity(3)拍完照儲存完畢後按返回回到activity(2), 再按一次返回回到activity(1), 這時activity(1)就會跑onCreate > onStart > onResume 這樣的流程就是activity(1)被回收後在啟動的流程, 有時又會跑到onRestart, 但是跑到onRestart這才正確也是我要的跑法.

請問返回跑到onCreate是不是activity(1)被回收掉了?
如何避免activity(1)不被回收呢?

剛剛從開機在測試就很正常 真的很懷疑內存不足造成activity(1)被回收掉 不然就是韓國人陰謀(s3測試)
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2012-12-21 17:24
幫不到你。請參考 http://code.google.com/p/androidbmi/wiki/LifeCycle

Activity 的狀態
Android 的虛擬機(VM)執行Activity時主要有四種狀態:

Active (活動)
Paused (暫停)
Stopped (停止)
Dead (已回收或未啟動)
Active (活動)
「Active」狀態是使用者啟動應用程式或 Activity 後,Activity 運行中的狀態。

在 Android 平台上,同一個時刻只會有一個 Activity 處於活動(Active)或運行(Running)狀態。其他的 Activity 都處於未啟動(Dead)、停止(Stopped)、或是暫停(Pause)的狀態。

Paused (暫停)
「Paused」狀態是當 Activity 暫時暗下來,退到背景畫面的狀態。

當我們使用Toast、AlertDialog、或是電話來了時,都會讓原本運行的 Activity 退到背景畫面。新出現的Toast、AlertDialog等介面元件蓋住了原來的 Activity 畫面。Activity 處在「Paused」狀態時,使用者無法與原 Activity 互動。

Stopped (停止)
「Stopped」狀態是有其他 Activity 正在執行,而這個 Activity 已經離開螢幕,不再動作的狀態。

透過長按「Home」鈕,可以叫出所有處於「Stopped」狀態的應用程式列表。

在「Stopped」狀態的 Activity,還可以透過「Notification」來喚醒。「Notification」會在後面章節中解說。

Dead (已回收或未啟動)
「Dead」狀態是 Activity 尚未被啟動、已經被手動終止,或已經被系統回收的狀態。

要手動終止 Activity,可以在程式中呼叫「finish」函式。我們在加入選單一章中已經提到過了。

如果是被系統回收,可能是因為記憶體不足了,所以系統根據記憶體不足時的回收規則,將處於「Stopped」狀態的 Activity 所佔用的記憶體回收。

記憶體不足時的行為
記憶體不足時,Dalvik 虛擬機會根據其記憶體回收規則來回收記憶體:

先回收與其他 Activity 或 Service/Intent Receiver 無關的行程(即優先回收獨立的Activity)
再回收處於「Stopped」狀態的其他類型 Activity(在背景等待的Activity)。最久沒有使用的 Activity 優先回收(比較官方的說法是 "根據 LRU 演算法...")
還不夠?回收 Service 行程
快不行啦,關掉可見的 Activity/行程
關閉當前的 Activity
當系統缺記憶體缺到開始「4. 關掉可見的 Activity/行程」時,大概我們換機子的時機也早該到啦!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| lkk47 | 收聽TA | 只看該作者
發表於 2012-12-22 13:27

我解決  解決方式加大手機內存  哈哈  問題就在內存不足我從開機正常了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則