android - 最佳实践 - 每次都保留引用或实例化?

标签 android android-widget

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

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

这些对象经常被使用。什么是最佳实践。将它们实例化一次作为我类中的私有(private)成员,还是每次我需要它们时都实例化它们?

保存引用可能会消耗更多内存,但如果经常使用它们,可能更愿意在一分钟内实例化它们 10 次?

感谢您的帮助:-)

最佳答案

保存引用可能会消耗更多内存,但如果经常使用它们,可能更愿意在一分钟内实例化它们 10 次?

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

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

关于android - 最佳实践 - 每次都保留引用或实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9505330/

相关文章:

Android 数字选择器键盘类型

android - 单行 TextView 剪切 LinearLayout 内的文本

当 isIndicator = True 时,Android RatingBar 作为按钮

android - 无法从 Objective C 解密 AES 加密字符串

android - 我如何使用布局 XML 文件中定义的 View 作为模板以编程方式创建 View

android - 如何让 android 图标改变状态(突出显示)?

android - 无法均匀缩放 9patch 图像

android - 如何从WebView获取一些信息

android - 机器人 : Use in a third-party project

android - 更新查询的返回值为0