-6

我一直在开发一个应用程序,在每次添加小改进后,我在真实设备上对其进行了测试。即使应用程序最终大小约为 2~3 Mb。尽管我有 20 MB 可用空间来安装应用程序,但它显示了内存不足事件。

编辑:不知道为什么,但是当我问这个问题时,我对静态变量知之甚少,所以我认为它们占用了很多空间。但是这个陈述被不恰当地陷害,没有任何意义

4

1 回答 1

1

嗯,这是一个很大的话题,但要简明扼要,

是的,静态可以在应用程序停止后占用空间,但如果系统确实需要这个内存空间,这些静态引用将被释放。

您应该意识到这一点,因为在恢复您的应用程序时,您不应该期望这些静态变量已经设置(它们可以在没有任何通知的情况下释放)所以无论如何您都必须重置它们。所以最好是自己将它们设置为 null,这样如果它们被自动释放,你就不会感到惊讶。

它们不应该占用太多内存空间,因为大型对象(如位图或其他大型资源)不应该被静态保存,这是要避免的。

还要记住,android 中最大的内存泄漏通常是由于对 Context 对象的静态引用(这也是要避免的!)。同样,任何视图都在其上下文中获得了引用,因此也不要在视图上保留任何静态引用。

他们会说很多……我希望这些建议适合您想知道的。

于 2013-03-11T12:52:51.887 回答