『壹』 android 怎麼finish掉上一個activity
假如A,B兩個Activity。
現在因為不清楚你的需求,我只能假設兩種方法。
第一種
A 跳轉到B.這種情況下如何關閉 A。在A跳轉前。 A.this.finish();
然後再執行跳轉。
第二種
就是必須的在B中結束A。
public class ActivityManagerApplication extends Application {
private static Map<String,Activity> destoryMap = new HashMap<>();
private ActivityManagerApplication() {
}
/**
* 添加到銷毀隊列
*
* @param activity 要銷毀的activity
*/
public static void addDestoryActivity(Activity activity,String activityName) {
destoryMap.put(activityName,activity);
}
/**
*銷毀指定Activity
*/
public static void destoryActivity(String activityName) {
Set<String> keySet=destoryMap.keySet();
for (String key:keySet){
destoryMap.get(key).finish();
}
}
}
在A創建的時候,調用 add方法把當前的A添加進去。
當需要結束的時候,在B中調用 destoryActivity方法,指定添加A時的Key值來finish 掉A
『貳』 Android中的返回鍵和代碼中的finish()之間的區別
首先:兩者都能結束Activity,區別如下:
返回鍵:默認為結束當前顯示的Activity,到Activity的生命周期onDestroy()為止,當再次啟動Activity時則從onCreate()開始且不會調用onSavedInstanceState()。
finish():告訴系統將棧頂的Activity移出棧,同時也不會及時的調用生命周期方法onDestroy(),從而導致資源
不能及時釋放
『叄』 android 中alertdialog怎麼finish
AlertDialog.Builder對話框沒有類似finish()或者dismiss()這樣的方法。
但是它的父類AlertDialog有dismiss方法,而且AlertDialog.Builder在.show()的時候會得到一個AlertDialog對象,
我們就可以用dismiss方法將該Builder關閉。
[java] view plain
AlertDialog.Builder builder = new AlertDialog.Builder(this);
AlertDialog dialog = builder.show();
dialog.dismiss();
『肆』 android調用finish後為什麼沒有立即執行onDestroy方法
調用finish()方法,系統只是將最上面的Activity移出了棧,並沒有及時的調用onDestory()方法,其佔用的資源也沒有被及時釋放。也就是說,系統自己決定何時從內存中釋放應用程序,而不是finish()之後立即銷毀。
『伍』 Android開發中的finish()與onDestroy()方法都是用來結束activity的吧兩個有什麼區別
onDestroy()是生命周期方法,是你的Activity結束的時候由Android系統調用的,你不能直接調用onDestroy()來結束你的Activity,一般做法是finish(),
在onDestroy()中可以做一些清理操作。
『陸』 Android怎麼finish掉Activity和fragment
首先如果你寫了finish()並且位置正確,應該不會出現你說的那種情況,你可以貼出源代碼看看。
fragment寫finish():getActivity().finish()。
『柒』 Android中的返回鍵和代碼中的finish()之間的區別
當你在程序中調用
Activity.finish()方法時,結果和用戶按下
BACK
鍵一樣:他告訴
Activity
Manager該Activity實例可以被「回收」。隨後
Activity
Manager
激活處於棧第二層的
Activity
並重
新入棧,把原
Activity
壓入到棧的第二層,從
Running
狀態轉到
Paused
狀態。
『捌』 Activity中finish和onDestroy的區別
finish()方法用於結束一個Activity的生命周期,而onDestory()方法則是Activity的一個生命周期方法,其作用是在一個Activity對象被銷毀之前,Android系統會調用該方法,用於釋放此Activity之前所佔用的資源。finish會調用到onDestroy方法,可以在onDestroy里列印一句話,就會發現在finish方法那也會列印這句話。。。
Activity.finish()Call this when your activity is done and should be closed.在你的activity動作完成的時候,或者Activity需要關閉的時候,調用此方法。當你調用此方法的時候,系統只是將最上面的Activity移出了棧,並沒有及時的調用
onDestory()方法,其佔用的資源也沒有被及時釋放。因為移出了棧,所以當你點擊手機上面的「back」按鍵的時候,也不會再找到這個Activity。
Activity.onDestory()the system is temporarily destroying this instance of the activity to save space.系統銷毀了這個Activity的實例在內存中占據的空間。在Activity的生命周期中,onDestory()方法是他生命的最後一步,資源空間等就被回收了。當重新進入此Activity的時候,必須重新創建,執行onCreate()方法。