您的位置:首页 > 移动开发 > Android开发

android在任何一个界面退出此应用

2016-11-07 14:39 183 查看

最近做项目遇到一个问题,activity栈管理

想要在某个activity直接退出应用有两种方法

1.拿一个linkedlist来管理activity的实例,再退出的时候循环list来finish掉所有的activity;但是这样写会有一个缺陷,就是list会强引用activity的实例,造成内存泄漏。

2.在baseactivity里注册一个广播,然后在退出的时候发送一个广播,在base中接受到回调后finish掉接收到广播的activity。

private BroadcastReceiver exitAppReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
unregisterReceiver(this);
((Activity) context).finish();
}
};

public void exitApp() {
Intent intent = new Intent();
intent.setAction(Constant.EXIT_APP);
sendBroadcast(intent);
finish();
}


在onresume中动态注册此广播

//注册
IntentFilter filter = new IntentFilter();
filter.addAction(Constant.EXIT_APP);
registerReceiver(this.exitAppReceiver, filter);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐