Android内存运行不足,没有明显原因

Android内存运行不足,没有明显原因,第1张

概述我们有一个安装在客户端站点的Android硬件/软件组合.在某些平板电脑上,内存开始运行不足,Android开始通过查杀我们的应用程序,然后由我们的看门狗服务自动重启.以下是我们用于监控每个应用内存使用情况的代码: for( RunningAppProcessInfo info : am.getRunningAppProcesses() ) {

我们有一个安装在客户端站点的Android硬件/软件组合.

在某些平板电脑上,内存开始运行不足,AndroID开始通过查杀我们的应用程序,然后由我们的看门狗服务自动重启.

以下是我们用于监控每个应用内存使用情况的代码:

    for( RunningAppProcessInfo info : am.getRunningAppProcesses() ) {            int memused = am.getProcessMemoryInfo(                      new int[]{info.pID})[0].getTotalPss();        Log.log(DIAG_INFO,"Process Mem: " +  info.process@R_404_6889@,memused);    }

这是获取整个系统内存级别的代码

         MemoryInfo mi = new MemoryInfo();         am.getMemoryInfo(mi);         long availableMegs = mi.availMem / 1048576L;         long threshold = mi.threshold /1048576L;

availableMegs下降到接近阈值(在我们的例子中为64mb)并且androID开始杀死东西.

但是,当我们查看每个进程的内存使用情况时,将TotalPss值相加,我们得到正常的总数.没有任何过程失控记忆!

缺少RAM的任何想法?

最佳答案您是否使用过Eclipse Memory Analyzer(MAT)等外部工具?它可能会为您提供比应用内测量更好的视角.它并不难使用,但确实需要一些设置.其使用量为Here’s a pretty good write-up.

在Eclipse System information视图中,可以在设备上的所有应用程序中报告内存的解决方案.要使用它,请打开DDMS透视图,然后在“设备”视图中选择一个设备.然后打开“系统信息”视图,并在左侧下拉列表中选择“内存使用情况”.每次单击“从设备更新”时,您都可以获得设备上使用的内存快照.

总结

以上是内存溢出为你收集整理的Android内存运行不足,没有明显原因全部内容,希望文章能够帮你解决Android内存运行不足,没有明显原因所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1140458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存