[英]In Android, how can I detect why my activity was resumed?
我正在開發一個活動,它執行一些自己的狀態管理。 我正在嘗試區分以下onResume案例:
活動意圖或其他方面是否有什么可以幫助我區分這些?
出於好奇和某些背景...我想在4和5上保留我的內部歷史記錄堆棧。在第2和3種情況下,我將保留相同的當前頁面,但會刪除歷史記錄(允許使用正常的后退按鈕功能接管)。 情況1將初始化為活動的內部起始頁(並且在onCreate的幫助下可以很容易地檢測到)。
活動意圖或其他方面是否有什么可以幫助我區分這些?
項#4與AFAIK onResume()
沒有關系。
盡管您可以通過從onRetainNonConfigurationInstance()
返回值並通過getLastNonConfigurationInstance()
查看onResume()
是否存在“項目”來更好地通過android:configChanges
和onConfigurationChange()
處理項目#5。
一旦開始考慮諸如“被踢出內存以釋放RAM”之類的可能性,其他情況不僅是三種情況,而且可能是兩倍。
袖手旁觀,就好像您做出了一些不幸的體系結構決定一樣(“內部歷史記錄堆棧...擦除歷史記錄...讓正常的后退按鈕功能在那個時候接管”)。 Android是圍繞許多廉價活動設計的,您似乎違反了這一戒律。 歡迎您這樣做,但請記住,Android對您選擇的模式的支持可能會受到限制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.