為什麼要呼叫兩次finish 才結束

2023-01-26 08:45:02 字數 3202 閱讀 3574

1樓:匿名使用者

我是tabhost 裡跳轉,返回finish 也是得結束兩次 還沒有發現問題所在。指點一下。

2樓:匿名使用者

你試一試在if裡和else裡都寫乙個finish(),看看效果,還不行,就debug跟蹤一下。

3樓:匿名使用者

我也碰到同樣的問題了。。startactivity(intent);startactivityforresult(intent, 100);。找了半天錯誤,原來如此啊。

4樓:匿名使用者

請高手進來解答一下,謝謝啊,似乎呼叫一次finish()activity還是在任務棧中,不知道怎麼回事呢。

android activity退出為啥要按兩次返回鍵呢?

5樓:匿名使用者

這個原因是你的a不是單例模式。所以a跳到b後有跳到a 實際上你的最後乙個a是新的不是原來的那個a 這就解釋了你的a介面為什麼會閃兩次。你可以這麼做 a跳到b後 在a介面finish掉自己,你這樣試試看。

6樓:切切切

因為你在a跳b的時候a並沒有關閉,然後你再從b跳a的時候,等於新new 了乙個a

這樣棧裡面就有兩個a了,所以得兩次返回退出。

解決辦法就是 1 在a跳b的時候把a finish了2 在b跳a的時候直接finish b不用寫跳轉。

7樓:網友

你把return ,event) 去掉就行了 你要實現監聽按2次返回鍵就是重寫了系統的退出方法。

8樓:胡同兒謝半仙

若是你沒有返回鍵的功能,就是你的activity沒關,每次你開啟都會新建乙個,所有會有你這種情況,比如你徹底關閉程式,然後第一次開啟,直接按返回,它就出來了!

9樓:美女顫抖吧

你這是兩個頁面a,b。所以返回鍵銷毀會先銷毀a再銷毀b,也就是兩次。

10樓:

a->b,想回到a的時候,別用跳轉,直接finish b;這樣就可以解決你的問題了。

11樓:網友

是使用者體驗。

是防止使用者誤操作點選到返回鍵直接退出應用程式。

求教:activity為什麼會自動呼叫finish()方法解決方法

android呼叫finish後為什麼沒有立即執行ondestroy方法

12樓:千鋒教育

他們是倆個不同的東西啊,在你的activity動作完成的時候,或者activity需要關閉的時候,呼叫此方法。當你呼叫此方法的時候,系統只是將最上面的activity移出了棧,並沒有及時的呼叫ondestory()方法,其佔用的資源也沒有被及時釋放。因為移出了棧,所以當你點選手機上面的「back」按鍵的時候,也不會再找到這個。

ondestroy()是系統銷毀了這個activity的例項在記憶體中佔據的空間。

13樓:育知同創教育

呼叫finish()方法,系統只是將最上面的activity移出了棧,並沒有及時的呼叫ondestory()方法,其佔用的資源也沒有被及時釋放。也就是說,系統自己決定何時從記憶體中釋放應用程式,而不是finish()之後立即銷毀。

android開發中的finish()與ondestroy()方法都是用來結束activity的吧?兩個有什麼區別?

14樓:匿名使用者

1、不同點區別:

finish()方法用於結束乙個activity的生命週期。而ondestory()方法則是activity的乙個生命週期。

其作用是在乙個activity物件被銷毀之前,android系統會呼叫該方法,用於釋放此activity之前所佔用的資源。finish會呼叫到ondestory方法。在ondestory裡列印一句話,執行一下程式,會發現finish方法會把那句話列印出來。

2、方法區別:

方法:在你的activity動作完成的時候,或者activity需要關閉的時候,呼叫此方法,當你呼叫此方法的時候,系統只是將最上面的activity移出了棧,並沒有及時的呼叫ondestory()方法,其佔用的資源也沒有被及時釋放。

因為移出了棧,所以當你點選手機上邊的「back」 按鍵的時候,也不會再找到這個activity.

方法:系統銷毀了這個activity的例項在記憶體中佔據的空間。在activity的生命週期中,ondestory()方法是他宣告的最後一步,資源控制項等就被**了。當重新進入此activity的時候,必須重新建立,執行oncrate()方法。

15樓:匿名使用者

ondestroy()是生命週期方法,是你的activity結束的時候由android系統呼叫的,你不能直接呼叫ondestroy()來結束你的activity,一般做法是finish(),在ondestroy()中可以做一些清理操作。

finish和stop怎麼用,有射門區別,為什麼加上之後也沒什麼效果

16樓:匿名使用者

1)finish()是指結束activity。

2)onstop(){是指在activity結束時呼叫什麼東西,可以重寫的。

簡單的說就是finish()時會呼叫onstop裡的方法finish()之後,activity a 已經stop了,沒有進入棧,所以應該是呼叫的oncreate

沒法用onresum直接起調,只能用oncreate

android中用finish()結束activity在啟動的時候為什麼不是重新啟動乙個新的activity

17樓:洞磁打次

如果當前的activity沒有被系統銷毀,只是隱藏的話,再次出現就會呼叫onresume。

如果被系統銷毀了就會重新建立,oncreate->onstart->.

為什麼我的程式按返回鍵可以正常退出,採用finish就異常

18樓:折柳成萌

第一問題,interrupt只是改變了執行緒的中斷狀態,不會立刻中斷乙個正在執行的執行緒。如果呼叫了interrupt後,執行緒進入阻塞時,顯示就會丟擲異常退出。

第二問題,onbackpressed()方法相當於點選back按鈕。

為什麼夢會做兩次為什麼同夢,可以做兩次

這個夢境讓你的大腦皮層受到了反覆的刺激,於是形成了記憶,當它成為記憶後又在 版夢境權裡浮現。套用一句盧梭的話 痛苦 於擺脫痛苦的願望。當然這句話用在你身上並不貼切,但也意味著你想擺脫夢境中的宿命,於是那個 宿命 的結果反過來更深地刺激著你的記憶,最後結果是越想擺脫越掙脫不了。換個不太恰當的說法 你的...

老婆出軌兩次為什麼談要離婚,她說離婚了,過兩年還想著要復婚,她一直拖了月不離,到現在都沒有說她

首先都出軌兩次了,還有必要再做夫妻嗎?你接受的了?證明你也是找不到其它人了 這樣的女人還有必要挽留嗎?她會教育出什麼好孩子?讓她消失在你生活裡 女人出軌是她本身的原因還是你也有原因,她現在說的話你相信嗎?既然離婚了,過兩年再復婚明擺著是騙你 離了!別回頭!綠帽子給你帶了 最好勸你還是離,有了孩子出軌...

蠟燭平面鏡成兩個像為什麼不是兩次反射兩次折射而是一次反射兩次

前面的像是經過玻璃前面反射形成的像 後面的像 光先從空氣中進入玻璃 一次折射 遇到後面的玻璃面反射 再從玻璃中進入空氣 二次折射 形成的像 所以是一次反射,兩次折射 希望對你有所幫助 成兩個像是因為玻璃有厚度,發生了兩次反射,一次是玻璃與空氣介面的反射 一次是水銀與玻璃介面的反射。你說的一次反射兩次...