Android va tuer un processus si c'est dans l'arrière-plan et le système d'exploitation décide qu'il a besoin de ressources (RAM, CPU, etc.). J'ai besoin d'être capable de simuler ce comportement au cours des essais afin de m'assurer que ma demande est de se comporter correctement. Je veux être capable de faire cela de façon automatisée afin que je puisse tester si l'application se comporte correctement lorsque cela se produit, ce qui signifie que je vais devoir tester cette dans chaque activité, etc.
Je sais comment tuer mon processus. Ce n'est pas le problème. Le problème est que quand je tue mon processus (à l'aide de DDMS, adb shell kill
, Process.killProcess()
, etc.) Android ne redémarre pas de la même manière que si le système d'exploitation Android l'avait tué lui-même.
Si le système d'exploitation Android tue le processus (en raison de conditions de ressources), lorsque l'utilisateur revient à l'application Android va recréer le processus, puis de les recréer le haut de l'activité sur l'activité de la pile (en appelant onCreate()
).
D'autre part, si je kill le processus, Android suppose que l'activité sur le haut de la pile a été mal comportés, il recrée automatiquement le processus, puis enlève le haut de l'activité de l'activité de la pile et recrée l'activité qui était en-dessous du haut de l'activité (en appelant onCreate()`). Ce n'est pas le comportement que je veux. Je veux le même comportement que quand Android tue le processus.
Juste pour expliquer de façon visuelle, si mon activité pile ressemble à ceci:
ActivityA -> ActivityB -> ActivityC -> ActivityD
Si Android tue le processus et l'utilisateur retourne à l'application, Android recrée le processus et crée ActivityD.
Si je tue le processus, Android recrée le processus et crée ActivityC.