如何在Android中使用单例模式影响内存使用?

Fri*_*iso 1 singleton android

我正在考虑在我正在构建的Android应用程序中为适配器和帮助器使用单例模式,但我不太熟悉Java的垃圾收集以及静态属性(例如static FooBar instance)如何影响内存使用.

它会对Android应用产生足够大的影响,我应该避免使用它吗?

Sea*_*wen 5

取决于"影响内存使用"的含义.对象不会更大或更小,因为有一个实例由单例模式强制执行.从这个意义上说,没有区别.

如果这意味着你肯定在内存中最多只有一个对象的副本而不是几个,是的,它可以帮助你.

通常人们的意思是,单身人生活多久了?当应用程序在后台时,它会不停地占用内存?

一个static成员附加到它的一个实例上,该实例Class依次连接到它ClassLoader.所以单身人士的生命和他一样长ClassLoader.事实证明,在Android版应用程序的ClassLoader消失在onDestroy,没有onPause,所以单身意味着你扶住即使该应用程序在后台内存.