‘壹’ 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()方法。