最佳实践 - 每次保持参考或实例化?

时间:2012-02-29 19:25:01

标签: android android-widget

在我的Android应用程序中,我经常实例化以下对象。

mWidget = new ComponentName(mContext, Widget.class);
mAppWidgetManager = AppWidgetManager.getInstance(mContext);
mLayoutInflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

经常使用这些对象。什么是最佳做法。在我的班级中将它们作为私人成员实例化一次,或者每次我需要它们时实例化它们?

持有引用可能会占用更多内存但如果经常使用它们可能会更喜欢在一分钟内将它们实例化10次?

感谢您的帮助: - )

2 个答案:

答案 0 :(得分:0)

取决于你有多少。如果只是一小部分,那么只需在你的班级中保留一个参考。

答案 1 :(得分:0)

保留引用可能会占用更多内存,但如果经常使用它们,可能会更喜欢在一分钟内实例化10次?

我不认为这种说法是正确的。保持引用不会增加内存消耗,内存消耗将始终相同,但内存不符合垃圾回收和其他对象的重新分配。

对象创建总是代价高昂,如果你没有弄乱引用(换句话说,使对象不适合GC),我认为单个对象是不错的选择。