Sto creando nuovo menu delle opzioni all'interno frammento ma dopo aver letto http://developer.android.com/resources/articles/avoiding-memory-leaks.html che dice che è meglio usare al contesto di applicazione di contesto-attività, ho paura di usare getActivity(). GetMenuInflater()crea un nuovo menuInflater o getMenuInflater() dall'attività?
Così , in realtà che uno migliore
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuInflater mInflater = new MenuInflater(getActivity().getApplicationContext());
mInflater.inflate(R.menu.simple_menu, menu);
}
o l'attività di una chiamata
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuInflater mInflater = getActivity().getMenuInflater();
mInflater.inflate(R.menu.simple_menu, menu);
}
e, ciò che è la differenza tra i due di 'em? o ... entrambi sono uguali?
Grazie.
sì, ma la creazione di "nuovo" menuInflater suona come si mangia più memoria di "get" menuInflater ... e hai detto che non sarà trapelato se non passassi il menuInflatore ad un'altra classe, lo chiamo all'interno della classe frammento e non l'attività del frammento, quindi se chiamo getMenuInflator non sarà "chiama il menuInflatore da un'altra classe" ? –
@ GAO-tsukai Ho perso la tua domanda su questo metodo. Ho aggiornato la mia risposta di conseguenza. – spatulamania
grazie, ora sento che ho davvero bisogno di vedere la fonte Android ... –