问题标签 [android-memory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4749 浏览

android - 启用 largeHeap 的位图回收

在启用largeHeap选项之前,我正在处理大型位图,它几乎消耗了应用程序可用的全部内存,并且通过导航回收它并加载新的在几乎可用的完整堆上工作。但是,当某些操作需要更多内存时,应用程序会崩溃。所以我启用largeHeap=true了更多的内存。

但是这样做有一个意想不到的行为,看起来recycle()位图的方法大部分时间都不起作用,并且在 58Mb 内存中工作的应用程序(有时超过抛出 a OutOfMemoryException)现在以指数方式消耗内存并不断增长(现在测试我确实来到了 231Mb 分配的内存),预期的行为是内存管理继续工作并且应用程序不会使用超过 60Mb。

我怎样才能避免这种情况?或者有效地回收位图?

编辑:实际上,我OutOfMemoryError在设备上分配超过 390Mb 的内存时给出了一个。读取 GC_* 日志显示只有 GC_FOR_ALLOC 有时释放了 3.8Mb,但几乎没有其他 GC 运行释放了一些东西。

0 投票
0 回答
567 浏览

android - MemoryInfo.availMem 不断减少

我的 Activity 的回调 onLowMemory() 不断被调用,因此为了调查这个问题,我在主游戏循环中编写了以下代码行:

日志非常有趣:availMem 不断减少。现在为了确保对象被正确销毁,II 进行了 hprof 内存转储。正如预期的那样,被销毁的对象没有显示在这些转储中。

此外,availMem 应该是整个系统可用的内存,而不仅仅是我的应用程序,这使它更加奇怪。

任何人都可以帮助我了解这里发生了什么。任何帮助将非常感激。谢谢!

0 投票
1 回答
177 浏览

java - Android 内存管理:单例引擎?

我的 Android 开发遇到了一些内存问题。

我想知道我的实际模型是否可以工作,并且还想了解如何以更好的方式做到这一点:

  • 我需要public static final 全局变量
  • 我需要永远不会被垃圾收集的public 全局变量
  • 我需要让引擎运行,并且在没有我打电话的情况下永远不会破坏stop()

Engine 是一个 Singleton 类,接收位置更新等。

我的 Engine 类必须不被释放而不是 DEBUG 变量。

0 投票
4 回答
54002 浏览

android - android.view.InflateException: Binary XML file line #2: Error inflating class

我正在开发一个简单的 android 应用程序,刚刚完成了主屏幕。现在,如果屏幕的方向变化超过两次,它就会抛出错误并且应用程序会突然崩溃。

这是我的Java类:

这是我的 XML 代码:

日志猫详细信息:

使用的图像非常小,大约 5kb。

0 投票
3 回答
1323 浏览

java - Android 对话框和内存

情况1:

案例二:

在 CASE 2 中,我已经在其中设置了内容视图的对话框。只需单击按钮即可显示/关闭。

所以我的问题是,第一种情况会释放一些内存,还是会产生相同的效果?

0 投票
3 回答
890 浏览

java - 数组的内存泄漏

我的 Android 应用程序有一个非常奇怪的内存问题。我的应用程序使用以下 3 个类:

然后在代码中,我必须从文件中加载 2000 种颜色(文件长约 65K,正好有 2000 条记录)并放在 assets 文件夹中

在此之后,应用程序将崩溃并停止工作。如果我删除 do..while 一切正常,所以我认为我的阵列会越来越多,然后 65K,我做错了什么?在 Android LogCat 上,我已经达到了完整的 HEAP 空间(26MB)!!!

最好的问候 GMG

0 投票
2 回答
144 浏览

android - 加载时应用程序分配大内存

在我的 android 应用程序中,当应用程序启动时,我在日志中发现了这条消息。

这会在调用后不久发生setContentView(),甚至在应用程序的其他部分执行之前发生。

为什么设置内容视图会占用这么多内存?

我不确定这意味着什么。有人可以解释一下吗?

谢谢

0 投票
5 回答
1778 浏览

java - 在android中加载图像会分配很大的内存

我正在使用尺寸为 720X1136 的图像作为我的应用程序的启动画面,该应用程序仅针对三星 Galaxy Nexus 手机。实际文件大小为 513Kb(从浏览器中找到)。当活动调用 onCreate 方法并设置内容视图时,日志中提到了 13.5 MB 的内存分配。

这是我在后台加载图像的活动。

如何减少这种内存分配?

谢谢

0 投票
1 回答
749 浏览

android - 在android中扫描不同的内存类型

我有一些可能对其他人有用的问题。在 android 4.0 以后,

1)如何检查是否有外接sd卡支持?

2)如何在内部和外部内存中强制运行Mediascan?

3) 如何只扫描 sd 卡或内存?

0 投票
3 回答
3599 浏览

android - 避免在列表视图中加载位图时出现内存不足错误

我有一个列表视图,我正在从网络上加载位图..但现在的问题是我在列表视图中有 1000 个项目,所以它导致我内存不足错误..我也使用了图像缓存。 .