記錄乙個程序重啟的問題

2022-06-01 19:54:11 字數 701 閱讀 6646

類似於如圖.

看到這個現象猜測,是不是當棧中有 activity 例項的時候,程序是會自動重啟.為此做了乙個實驗,a->b,在 b 中關閉虛擬機器,這時候,虛擬機器自動重啟。開啟了 a 頁面。

a->b->c,在 c 中關閉虛擬機器。

這時候,棧中的資訊如下.

此時在 c 中執行關閉虛擬機器的操作,然後程序重啟.下圖是虛擬機器重啟之後的棧資訊。發現,除了之前棧頂的 c 銷往了,棧下的 b,c 都還在.並且 b 的狀態資訊還是重啟之前的,除了 pid 不一樣了.

這時候按下返回,棧資訊如下.

關於為何程序會重啟

目前發現的現象是,當棧底還有 activity 的時候,就會重啟. google 了一些部落格,還是未發現有合理的解釋.

為何重啟後 task 中原有棧頂的 activity 的資訊和重啟之前一模一樣?

原因是什麼?目前不知道怎麼下手分析,僅僅是猜測,應該是和 activityrecord 有關,系統在重啟的時候直接復用了.

記錄乙個volatile的問題

遇到乙個關於volatile的問題,目前還未想到原因,先記錄下來。關於volatile的含義及功能這裡不多解釋,直接上 public class volatiletestflag system.out.println a執行緒等待結束。thread bthread newthread new run...

記錄乙個MySQL的問題

昨天做asp.net mvc程式,用mysql.data.entity.ef6做資料連線。程式都是正常的,但就是提交資料的時候總是提示 specified key was too long max key length is 767 bytes異常。搞了好久也不知道啥原因,網上查的方法也通通不好使。...

記錄乙個未知的問題

visual studio一啟用應用程式就提示 操作無法完成,因為該檔案已在xx.exe中開啟 但是我啟動的就是xx.exe啊 然後我盃具的發現debug目錄下所有的dll都被刪除掉了 這個程式依賴很多dll,只能乙個乙個重新生成,又杯具的發現生成完成再啟動還是會遇到上面的問題,重啟vs也還是不行,...