【问题标题】:Out of memory error. android [closed]内存不足错误。安卓 [关闭]
【发布时间】:2016-01-18 07:07:28
【问题描述】:

我想进一步了解out of memory。我知道它主要导致试图操作的位图和大型对象。无论如何,有一种情况会出现这个错误,虽然我没有图像或其他任何东西,只有简单的 textViews 和手机内存就像 12% 一样免费。所以我知道我的应用程序使用少量的 kb-s 作为内存来分配,但我想知道该内存是否也对 ram 有任何作用? android中的内存不足错误也会因为RAM内存不足吗?

【问题讨论】:

标签: android memory ram


【解决方案1】:

网络上有大量资源,只需谷歌即可。一个好的起点是http://developer.android.com/training/articles/memory.html

设备的 RAM 不会直接影响您应用的内存,真正的问题是所谓的 。把它想象成你的应用程序允许使用的 RAM 的一小部分(还有更多,但现在应该足够了)。 所有 java 对象都在堆上分配,即保存。如果您正在创建一个新对象,堆将始终尝试删除未使用的东西,但如果它不能(因为您仍在使用所有对象)它将尝试增长。如果堆无法进一步增长,则会出现OutOfMemoryError

你看,不仅仅是位图会增加你的内存消耗,而且基本上任何东西。特别大的StringBuffers 也可能是个问题。

但是,位图通常是原因。如果您正在使用例如ImageView 或只是设置 View 的背景图像,它将在内部使用 Bitmap。

如果您真的没有在您的应用程序中使用任何大文件或位图,那么您很有可能遇到内存泄漏。要了解有关这些(以及如何发现它们)的更多信息,请查看https://corner.squareup.com/2015/05/leak-canary.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-24
    • 2011-10-28
    • 1970-01-01
    • 2016-01-06
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    相关资源
    最近更新 更多