我不确定一个特定的 android 优化技巧,它建议避免不必要的对象创建。我不确定他们的“创造”部分。在我的应用程序中,我开始将多个对象(上下文、资源等)分配给 Activity 字段,目的是避免在每个生命周期中多次调用相同的获取函数(getBaseContext()、getResources())。
所以我的问题是,当我将这些对象分配给 Activity 字段时,我是创建新对象(并使用额外空间)还是对已创建对象进行新引用?
最佳答案
调用 getBaseContext() 和 getResouces() 时,您并未创建任何新对象。您正在获取 Android 操作系统在您的应用程序进程首次创建时创建的对象。
关于观察您创建了多少对象,除非您创建了大量对象(我指的是数量级超过 100 的对象),否则我根本不会担心。 100s 甚至可能太低了。
一个好的做法是始终牢记您的堆大小,如果您在构建应用程序时发现它变得越来越大,请尽最大努力对其进行管理。您可以通过查看 IDE 中的 DDMS(Dalvik 调试监视器服务器) View 来了解有关堆大小的信息。
关于Android 避免创建新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24708246/