最近在做android的项目,有多个activity 需要在非MainActivity完成退出app

最近在做android的项目,有多个activity需要在非MainActivity完成退出app,看到有同学这样写的将acitvity的引用压入栈中java中栈内存比较... 最近在做android的项目,有多个activity 需要在非MainActivity完成退出app,看到有同学这样写的将acitvity的引用压入栈中 java 中栈内存比较小,这样会不会造成泄漏,我问我同学他说不会持久拥有对象 ,如果溢出 不是这个造成的
/**
* 将activity压入栈
* @param activity
*/
public void pushActivity (Activity activity){
if(activityStack==null){
activityStack = new Stack<Activity>();
}
activityStack.push(activity);
}
为什么不会持久拥有对象???自己不是很明白
展开
 我来答
和喝呵何
2014-05-30 · TA获得超过117个赞
知道小有建树答主
回答量:233
采纳率:50%
帮助的人:136万
展开全部
用一个集合来装所有Activity

首先,建一个Activity类,再定义集合
然后,编写一个保存Activity的方法
最后,编写一个退出程序的方法

其他Activity都继承自这个Activity。so,就行了。
希望对你有所帮助。
追问
这个我知道 我就想知道 acitivy引用  push 到栈中 会不会造成内存溢出
追答
据我所知,Activity栈就是专门来装Activity引用的,上面我说的方法就要用到这个方法。
so,溢出可能性非常低。
xupeiying
推荐于2016-09-12 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:567万
展开全部
Stack中保存的只是activity的引用,内存中真正的activity还是一份。

activity在内存释放时机和stack有关。

这个其实跟android没什么关系。这种偏理论性的知识,老师应该能解释的更清楚。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式