Android 避免创建新对象

标签 android variables memory optimization

我不确定一个特定的 android 优化技巧,它建议避免不必要的对象创建。我不确定他们的“创造”部分。在我的应用程序中,我开始将多个对象(上下文、资源等)分配给 Activity 字段,目的是避免在每个生命周期中多次调用相同的获取函数(getBaseContext()、getResources())。

所以我的问题是,当我将这些对象分配给 Activity 字段时,我是创建新对象(并使用额外空间)还是对已创建对象进行新引用?

最佳答案

调用 getBaseContext() 和 getResouces() 时,您并未创建任何新对象。您正在获取 Android 操作系统在您的应用程序进程首次创建时创建的对象。

关于观察您创建了多少对象,除非您创建了大量对象(我指的是数量级超过 100 的对象),否则我根本不会担心。 100s 甚至可能太低了。

一个好的做法是始终牢记您的堆大小,如果您在构建应用程序时发现它变得越来越大,请尽最大努力对其进行管理。您可以通过查看 IDE 中的 DDMS(Dalvik 调试监视器服务器) View 来了解有关堆大小的信息。

关于Android 避免创建新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24708246/

相关文章:

memory - 32 与 64 位...或者, 'processing information' 到底是什么意思

java - 从弃用的 Blobstore File API 到服务 blob

java - 在 Android 4 上自定义 ActionBar 选项卡

javascript - 可以从闭包访问可变变量

MySQL,如何重用分组中的计算数据

C++ 指针和删除

Java -Xms 初始大小效果

android - 动态 react native 更改响应程序

java.security.InvalidKeyException : Illegal key size or default parameters in android

C++ - 临时变量及其生命周期