android - Lorsque le téléphone est en mode paysage ou portrait, l'instance dans le fragment telle que l'objet recyclerview est nulle et le rappel lors du renvoi des données en arrière-plan provoque une exception de pointeur nul.
阿神2017-05-31 10:38:57
0
2
1129
Lorsque le téléphone mobile bascule entre les écrans horizontaux et verticaux, l'état du fragment est perdu, ce qui entraîne le signalement d'une exception de pointeur nul lorsque le rappel de données demandé par le sous-thread est affiché
C'est comme si tourner l'écran déclenche le redessin. Essayez d'ajouter les attributs suivants à l'activité actuelle dans Manifast : android:configChanges="orientation|screenSize"
Qu'il s'agisse de faire pivoter l'écran ou de fermer Activity, cela doit être fait dans Fragment#onDestroy() ou Fragment#onDestroyView( ), annulez la surveillance des réponses de l'interface réseau. Sinon, même si le problème de reconstruction de l'Activité provoquant le crash de l'application lors de la rotation de l'écran est résolu en définissant android : configChanges, il est toujours possible qu'elle plante dans d'autres scénarios. Laissez l'application planterActivity, 都应该在Fragment#onDestroy()或者Fragment#onDestroyView()时, 取消网络接口的响应监听. 否则即便是通过设置android:configChanges解决屏幕旋转时Activity重建导致App崩溃的问题, 其他场景也还是有几率让App崩溃
Il est recommandé de lire le code source d'Android pour comprendre les points de connaissances suivants : #🎜🎜#
#🎜🎜#Comment Activity gère le Fragment#🎜🎜#
#🎜🎜#Comment Fragment gère View#🎜🎜#
#🎜🎜#Comment Activité et Fragment gèrent le Loader#🎜🎜#
#🎜🎜# Il est également recommandé d'utiliser Retrofit + RxAndroid + RxLifecycle pour implémenter les interfaces réseau et les appels. Pour la gestion des données de page, vous pouvez. pensez au Loader.#🎜🎜#
C'est comme si tourner l'écran déclenche le redessin. Essayez d'ajouter les attributs suivants à l'activité actuelle dans Manifast :
.android:configChanges="orientation|screenSize"
建议阅读下Android源码去了解下以下几个知识点:
Activity
是如何管理Fragment
的Fragment
是如何管理View
的Activity
&Fragment
是如何管理Loader
的另外推荐使用 Retrofit + RxAndroid + RxLifecycle 来实现网络接口以及调用. 页面数据管理可以考虑
Il est recommandé de lire le code source d'Android pour comprendre les points de connaissances suivants : #🎜🎜#Loader
.Activity
gère leFragment
#🎜🎜#Fragment
gèreView
#🎜🎜#Activité
etFragment
gèrent leLoader
#🎜🎜#Loader.#🎜🎜#