Diferencia entre "onMenuItemSelected" y "onOptionsItemSelected"

Alguien puede explicarme la diferencia entre:

onMenuItemSelected (int featureId, MenuItem item)
Http://developer.android.com/reference/android/app/Activity.html#onMenuItemSelected%28int,%20android.view.MenuItem%29

y

onOptionsItemSelected (MenuItem item)
Http://developer.android.com/reference/android/app/Activity.html#onOptionsItemSelected%28android.view.MenuItem%29

En Android Encontré un tutorial en el que alguien anula ambos métodos.

 // Reaction to the menu selection @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { switch (item.getItemId()) { case R.id.insert: createTodo(); return true; } return super.onMenuItemSelected(featureId, item); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.insert: createTodo(); return true; } return super.onOptionsItemSelected(item); } 

Fuente: http://www.vogella.de/articles/AndroidSQLite/article.html

Android conoce varios tipos de menús (por ejemplo, Menú de opciones y Menú contextual). onMenuItemSelected es la devolución de llamada genérica. Usted no necesita usar esto por lo general. onOptionsItemSelected es la devolución de llamada del menú de opciones y onContextItemSelected es la devolución de llamada del menú contextual. Utilice estos dos específicos en su lugar.

Utilizando ADT 17 (versión 4.2) la onOptionsItemSelected llamada onOptionsItemSelected permitirá al usuario acceder a opciones de menú desde cualquier contexto, incluyendo el botón de menú y la barra de acción. A partir de la versión 3.0 de Android, el método preferido es la barra de acción a la que se puede acceder desde onMenuItemSelected . Si está diseñando una aplicación que admita versiones 2.3 o anteriores a onOptionsItemSelected es la forma en que desea ir.

Mirando el código, onMenuItemSelected puede ser llamado por un menú de Opciones (botón Menú) o por Menú contextual. Básicamente, sólo envía los clics a los otros métodos correspondientes.

Mira el código aquí: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.5_r4/android/app/Activity.java#2078

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.