关于Android 内存泄露的问题
天蓬老师
天蓬老师 2017-04-17 17:38:10
0
2
547

如果我在SampleActivity里面定义了一个成员变量ValueAnimator mAnimator,并设置重复方式为无限重复:mAnimator.setRepeatCount(ValueAnimator.INFINITE),将其启动:mAnimator.start();。那么问题来了:当SampleActivity已经销毁后,通过Logcat发现mAnimator还在运行,这样会不会导致Activity内存泄露?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(2)
伊谢尔伦

La définition de la fuite de mémoire d'activité est qu'après la fermeture de l'activité, s'il existe d'autres objets résidents faisant référence à l'objet d'activité, ce qui empêche le recyclage de l'objet d'activité.
D'après les informations que vous avez fournies, il n'est pas clair si cela provoquera une fuite de mémoire, car vous n'avez pas indiqué si mAnimator fait référence à l'activité.
Vous pouvez vérifier directement la chaîne de référence de mAnimator. S'il y a une référence à l'objet Activity (par exemple, la vue opérée par ValueAnimator et l'objet de rappel de ValueAnimator peuvent provoquer des références indirectes à l'activité), cela provoquera un fuite de mémoire.

刘奇

Vous pouvez utiliser log pour imprimer les journaux. Par exemple, écrivez un journal dans la méthode onDestroy pour voir si elle est appelée. Imprimez le journal en boucle dans l'activité pour voir si l'impression du journal s'arrêtera après la fermeture. >

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal