在android下编码时保存内存的提示?

时间:2010-09-06 12:14:43

标签: android memory memory-management

我目前正在开发一个android下的软件,我很快就得到了一些OutOfMemoryException ....我修改了部分代码以使用更多的静态变量而不是用“new”运算符进行新的分配但是有什么东西别的事呢?或任何其他提示?任何建议都会受到欢迎。

感谢。

4 个答案:

答案 0 :(得分:3)

您可以在此处找到许多提示:http://developer.android.com/guide/practices/design/performance.html

特别注意避免创建对象主题。

答案 1 :(得分:1)

您还可以观看一些Google I / O会议,例如2009年的writing non-janky appshow to make fast and efficient apps会议。

答案 2 :(得分:1)

如果您有一些资源可以随时重新加载到内存中,请考虑使用WeakReference s。它们内部的对象将在(Java)VM抛出OutOfMemoryException之前被清除,因此会有更多可用内存。

答案 3 :(得分:1)

在垃圾收集器可以处理/回收它们之前,您可能正在访问太多资源(例如图像)。如果您正在访问特别大的图像,请使用BitmapFactory将其缩小,如图所示answered。 (当然,为此你会在logcat中看到类似“位图大小超过vm预算”的内容。) 有关错误的更多细节吗?