我一直在开发一个应用程序,我在真正的设备上测试它后,每次都添加了一些小改进。即使应用程序最终大小在2~3 Mb左右。虽然我有20 MB的可用空间来安装应用程序,但它显示内存不足。
编辑:不知道为什么但是当我问这个问题时,我对静态变量知之甚少,所以我认为它们占用了很多空间。但是这个陈述是在没有意义的情况下构建的。
答案 0 :(得分:1)
这是一个很大的话题,但要简明扼要,
是静态可以在应用程序停止后占用空间,但如果系统确实需要此内存空间,则将释放这些静态引用。
你应该知道这一点,因为在恢复你的应用程序时,你不应该期望已经设置了这些静态变量(它们可以在没有任何通知的情况下发布)所以无论如何你必须重置它们。所以最好将它们设置为null,这样如果它们被自动释放你就不会感到惊讶。
他们不应该占用太多的内存空间,因为大型对象(如位图或其他大型资源)不应该静态地保留它。
还要记住,android中最大的内存泄漏通常是由于Context对象上的静态引用(这也是要避免的事情!)。以同样的方式,任何视图都有关于其上下文的引用,所以不要对视图保持任何静态引用。
他们会说太多了......我希望那些建议适合你想知道的事情。