D'après ce que je peux voir, onRetainNonConfigurationInstance est un rappel redondant. Si mon activité a une initialisation vraiment coûteuse, il vaut mieux que j'utilise onSaveInstanceState. L'instance sauvegardée couvre plus de situations que l'instance non-configurée. Existe-t-il une ligne directrice pour l'utilisation d'une API par rapport à l'autre ? Merci.
Réponse
Trop de publicités?D'après ce que je vois, onRetainNonConfigurationInstance est un rappel redondant.
Non, ce n'est pas le cas.
Si mon activité a une initialisation très coûteuse, il vaut mieux que j'utilise onSaveInstanceState.
onSaveInstanceState()
n'est pas conçu pour une "initialisation vraiment coûteuse". Il est conçu pour "hé, l'utilisateur a apporté des modifications aux informations de l'activité mais ne les a pas encore sauvegardées, ne perdons pas ces données, m'voyez ?".
Existe-t-il une ligne directrice pour l'utilisation d'une API par rapport à l'autre ?
S'il tient dans un Bundle
et n'est pas trop grande, utilisez onSaveInstanceState()
. Tout ce qui ne rentre pas dans un Bundle
(par exemple, une prise de courant) ou est très grand (par exemple, une photo en tant qu'un Bitmap
) devrait utiliser onRetainNonConfigurationInstance()
et votre application devrait être en mesure de recréer ces éléments si nécessaire.