当前位置: 代码迷 >> Android >> Android使用播音退出应用
  详细解决方案

Android使用播音退出应用

热度:42   发布时间:2016-04-28 06:13:59.0
Android使用广播退出应用

应用开发时需要处理安全退出应用,之前研究过Foursquare的代码,发现它用的是广播机制来处理退出应用。


public class BaseActivity extends Activity{    private static final String TAG = BaseActivity.class.getSimpleName();        public static final String INTENT_ACTION_LOGGED_OUT = "INTENT_ACTION_LOGGED_OUT";        private BroadcastReceiver mLoggedOutReceiver = new BroadcastReceiver()    {        @Override        public void onReceive(Context context, Intent intent)        {            Log.d(TAG, "onReceive: " + intent);            finish();        }    };        @Override    protected void onCreate(Bundle arg0)    {                super.onCreate(arg0);        registerReceiver(mLoggedOutReceiver, new IntentFilter(                INTENT_ACTION_LOGGED_OUT));    }        @Override    protected void onPause()    {                super.onPause();        if (isFinishing())        {            unregisterReceiver(mLoggedOutReceiver);        }    }    }

让每个Activity继承BaseActivity, 当推出应用的时候,发送一条广播,应用就能安全的退出。


网上有另外一种退出方法:在Application中用List<Activity>记录打开的Activity的context,在退出的时候,遍历List<Activity>,依次fiinish activity,这种方法的问题是会一直持有改Activity的context, 使之不能及时释放资源,如果跳转的页面很多的话容易照成OOM

  相关解决方案