Android 匕首2范围,演示者在哪里?
将演示者放置在范围内的最佳实践是什么 我们可以在@Singleton或@AppScope上设置演示者而不出现任何问题吗 是否应该将它们放在@ActivityScope中,以便在每次销毁活动时销毁它们 将演示者放置在范围内的最佳实践是什么 通常,演示者应该在某个范围内。不将其放在任何范围内都会导致问题,因为每次您请求演示者时,它都会创建一个新的演示者 您选择哪个范围主要取决于您的编程风格,但最常见的可能是@PerActivity,它是活动生命周期之后的一个范围。同样,您也可以将@PerFragment之类的东西用于片段及其生命周期 我们可以在@Singleton或@AppScope上设置演示者而不出现任何问题吗 是和否。引用寿命较短的对象的寿命较长的对象,例如引用活动生命周期对象的@Singleton对象,通常不是一种可能导致内存泄漏的好做法 您可以通过正确添加/删除寿命较短的对象来避免这些问题,例如,在创建时加载项、在onDestroy中删除或使用WeakReference 一些程序员会将他们的演示者保留为@Singleton或以类似的方式交换视图,但这同样取决于您对代码的偏好。它会起作用,但您必须确保引用了哪些对象,并在以后进行清理 是否应该将它们放在@ActivityScope中,以便在每次销毁活动时销毁它们 这是迄今为止最简单的选择,因为您在引用活动或依赖于它的任何其他内容时没有问题。通过这种方式,您很可能不必担心内存泄漏或其他问题 最后,这是你的代码,你必须做最适合你的事情 将演示者放置在范围内的最佳实践是什么 通常,演示者应该在某个范围内。不将其放在任何范围内都会导致问题,因为每次您请求演示者时,它都会创建一个新的演示者 您选择哪个范围主要取决于您的编程风格,但最常见的可能是@PerActivity,它是活动生命周期之后的一个范围。同样,您也可以将@PerFragment之类的东西用于片段及其生命周期 我们可以在@Singleton或@AppScope上设置演示者而不出现任何问题吗 是和否。引用寿命较短的对象的寿命较长的对象,例如引用活动生命周期对象的@Singleton对象,通常不是一种可能导致内存泄漏的好做法 您可以通过正确添加/删除寿命较短的对象来避免这些问题,例如,在创建时加载项、在onDestroy中删除或使用WeakReference 一些程序员会将他们的演示者保留为@Singleton或以类似的方式交换视图,但这同样取决于您对代码的偏好。它会起作用,但您必须确保引用了哪些对象,并在以后进行清理 是否应该将它们放在@ActivityScope中,以便在每次销毁活动时销毁它们 这是迄今为止最简单的选择,因为您在引用活动或依赖于它的任何其他内容时没有问题。通过这种方式,您很可能不必担心内存泄漏或其他问题Android 匕首2范围,演示者在哪里?,android,dependency-injection,dagger-2,android-mvp,Android,Dependency Injection,Dagger 2,Android Mvp,将演示者放置在范围内的最佳实践是什么 我们可以在@Singleton或@AppScope上设置演示者而不出现任何问题吗 是否应该将它们放在@ActivityScope中,以便在每次销毁活动时销毁它们 将演示者放置在范围内的最佳实践是什么 通常,演示者应该在某个范围内。不将其放在任何范围内都会导致问题,因为每次您请求演示者时,它都会创建一个新的演示者 您选择哪个范围主要取决于您的编程风格,但最常见的可能是@PerActivity,它是活动生命周期之后的一个范围。同样,您也可以将@PerFragme
最后,这是你的代码,你必须做最适合你的事情。前几天我刚刚写了一个类似的答案,关于如何保持演示者以及如何与作用域配合的问题,你可能想看看那里真正解释得很好的答案。我目前面临一个项目,该项目在@Singleton scope上有演示者,我个人不喜欢它。这就是我问这个问题的原因。还有一个问题,当我们有作用域时,该作用域的所有提供者都是在创建作用域时初始化的吗?前几天我刚刚写了一个类似的答案,关于如何保持演示者以及如何使用作用域的问题,您可能想看一看,答案解释得非常清楚。我目前面临一个项目,该项目在@Singleton scope上有演示者,我个人不喜欢它。这就是我问这个问题的原因。还有一个问题,当我们有作用域时,该作用域的所有提供者都是在创建作用域时初始化的吗?谢谢你的详细回答。我一直使用@ActivityScope方法,这就是为什么我怀疑所有演示者是否都在同一个范围内。谢谢你的详细回答。我一直使用@ActivityScope方法,这就是为什么我怀疑所有演示者都在同一个范围内。