我一直在使用Java进行Android编程。由于性能对于我正在处理的内容非常重要,所以我最终只会发送垃圾邮件全局变量。我想现在每个人都会冲过来,告诉我这是有史以来最糟糕的风格,但让我们保持简单。对于Android来说,局部变量意味着垃圾收集和垃圾收集是杀死性能的东西。保留一个全局变量或在c中重新创建一个局部变量?
最近我已经开始使用NDK。现在我感受到实际采取所有局部变量并将其改变为全局变量的冲动。我想知道,如果这在c代码中有任何意义。显然这不是一种好风格,但如果速度需要,我会很乐意牺牲风格。
我已经浏览了一些关于本地和全局的旧主题,但是我一直无法找到关于速度的任何信息。所以我的问题是,如果我经常调用一个函数,那么与函数完成后创建局部变量和死亡的速度有关吗?或者根本不重要,我可以高兴地继续使用局部变量。
我会自己测试一下,但由于某种原因,我的应用程序的性能像云霄飞车一样上下起伏,我怀疑我能够真正了解数据。我希望有人可以帮我把我的整个代码改写为空:)
你为什么认为“局部变量意味着垃圾收集”? – 2010-08-24 22:16:41
由于局部变量在超出范围时被垃圾收集。 – Crashworks 2010-08-24 22:26:34
而全局变量是a)当设置为NULL时收集的垃圾;或b)保存在内存中,因此不使用时不必要地增加内存压力,如果不设置为NULL。 – 2010-08-24 22:29:06