La meilleure option serait d'ajuster les paramètres minfree du tueur de mémoire faible.
Un peu de contexte :
Le tueur de mémoire faible est le pilier de la gestion de la mémoire d'Android. Il s'agit d'une approche plus élégante que l'oomkiller de Linux et elle fonctionne de manière proactive pour maintenir le pool de mémoire libre plutôt que d'intervenir uniquement lorsque vous êtes complètement à court de mémoire libre. Il sépare les applications en plusieurs catégories pour les tuer si le pool de mémoire libre descend en dessous de certains points. Elles sont généralement classées dans l'ordre suivant, de la première à la dernière :
EMPTY_APP - Il s'agit d'applications qui ne font rien ou qui n'attendent rien. Elles restent simplement en mémoire.
CONTENT_PROVIDER - Ce sont des applications d'arrière-plan qui fournissent du contenu aux applications actives (par exemple, le Play Store en utilise une pour vérifier périodiquement les mises à jour. La synchronisation Facebook de HTC est un autre exemple courant).
HIDDEN_APP - Ils sont assis en arrière-plan, ne font rien, mais sont toujours vivants et attendent peut-être quelque chose.
SECONDARY_SERVER - Un serveur fonctionnant en arrière-plan pour fournir des services à une application en cours d'exécution.
VISIBLE_APP - Il s'agit d'une application qui est en arrière-plan, mais qui est en train de faire quelque chose.
FOREGROUND_APP - Il s'agit de ce qui est actuellement en cours d'exécution et à l'écran.
Si le pool de mémoire libre descend en dessous d'une certaine quantité (par exemple 80MB est la valeur par défaut sur mon GS3), le système va d'abord commencer à tuer tout ce qui est listé comme une application vide jusqu'à ce que le pool soit de nouveau au-dessus de cette ligne. Si après avoir tué toutes les applications vides, la mémoire est toujours en dessous de la ligne suivante (par exemple 64MB), il commencera sur les fournisseurs de contenu, et ainsi de suite, jusqu'à ce que finalement si seule l'application de premier plan prend toute la mémoire (Sur mon GS3, si tout sauf l'application de premier plan a été tué et qu'il y a toujours moins de 32MB de mémoire libre) et menace le système, elle sera tuée.
Pour en revenir à votre question, ce que nous voulons faire, c'est ajuster ces valeurs vers le bas, de sorte que le tueur interviendra plus tard et, espérons-le, ne tuera pas le navigateur alors que vous voulez encore l'ouvrir.
L'application MinFreeManager vous permettra d'ajuster ces valeurs. Vous pouvez également les modifier directement dans /sys/module/lowmemorykiller/parameters/minfree
où les paramètres sont en pages (4 kilo-octets, donc une valeur de 8192 signifie 32MB comme ((8192*4)/1024=32MB), et listés dans l'ordre inverse de ce que j'ai listé ci-dessus. Pour les deux, vous aurez besoin de Root. Si vous n'avez pas Root, il n'y a rien que nous puissions faire pour vous aider.
Dans votre cas, le paramètre HIDDEN_APP (4e élément du fichier minfree) est probablement ce que nous devons modifier. Par exemple, ce paramètre est par défaut de 56MB sur mon GS3. Le réduire de moitié à 28M ou utiliser le préréglage léger dans MinFreeManager serait un bon point de départ pour le modifier.