Ho un'app con due attività. Il primo è presentato con un unico pulsante che apre il secondo.Problemi con il tema traslucido
Ecco la definizione Manifiest per il primo:
<activity
android:name="com.example.buttonexample.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Seconda azione:
<activity
android:name="com.example.buttonexample.MainActivity2"
android:label="@string/title_activity_main_activity2" android:theme="@android:style/Theme.Translucent">
</activity>
Ecco come mi lancio la seconda attività (tramite OnClickListener per un pulsante sulla prima attività) :
public void startSecondActivityClick(View v) {
Intent startActivity2 = new Intent(this, MainActivity2.class);
startActivity(startActivity2);
}
Questo funziona bene, tuttavia quando eseguo il background dell'app colpendo ho io e in primo piano l'app. Sto notando che la prima attività si sta creando/distruggendo continuamente. Ho verificato questo mettendo un po 'di codice nel metodo onDestory ad incrementare un int statica:
private static int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
count++;
}
protected void onDestroy() {
super.onDestroy();
Log.i("MainActivity", String.format("Destroyed, %d", count));
}
Ho anche notato che la rimozione del tema traslucido sembra risolvere il problema. La mia domanda è c'è un modo per traslucido o qualcosa di simile ma anche non riavviare? Inoltre, sono curioso del perché questo accada del tutto. Sto testando questo su 4.0.1 ICS su una galassia SIII.
Cosa vuoi dire che crea e si distrugge continuamente? Vuoi dire che sta creando e distruggendo più volte quando visualizzi la seconda attività una sola volta? Puoi darci un esempio dell'output di Log? – spierce7
Intendo onCreate e onDestroy vengono chiamati in rapida successione. Aggiungerò qualche output di registro. – noahd
Ok dopo aver scavato sono riuscito a capire perché questo sta accadendo. Qualcuno ha attivato una delle opzioni sviluppatore, "non tenere attività.". Dopo averlo spento, questo ha smesso di accadere. Sospetto che ciò non si verificherebbe troppo spesso nella produzione poiché probabilmente la maggior parte delle persone non ha questa impostazione. – noahd