首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >虽然java堆保持稳定,但本机堆继续以常规数量增长,然后发生致命信号6崩溃。

虽然java堆保持稳定,但本机堆继续以常规数量增长,然后发生致命信号6崩溃。
EN

Stack Overflow用户
提问于 2015-04-25 23:21:27
回答 1查看 336关注 0票数 3

我的Android应用程序在一系列片段中使用加载大量图像。我已经检查了内存分析器中的hprofs,在修复了各种漏洞之后,我再也看不到了。DDMS堆的大小稍微增加到16左右,但与此同时,我正在检查Debug.getNativeHeapAllocatedSize,发现每个片段替换后,这个值会膨胀大约90 16。大约600 on的本机堆,应用程序崩溃致命信号6 SIGABRT,通常是在试图构建图像重的UI上的数据返回。但记忆中永远不会有错误。

本机堆的增加是导致致命信号6崩溃的原因,还是导致UI停滞?调试本机堆持续增长的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-26 05:38:38

这些图像是一只红鲱鱼。致命的6确实与不断增长的本地堆有关。

除了大量的图片外,该应用程序还为每个屏幕创建了大量的自定义TextViews,之前的开发人员在init中为这些自定义TextViews调用了一个Typeface.createFromAsset。因此,成千上万的字体被添加到本机堆中。懒洋洋地创建一个静态字体,一次只修复了这个问题。

要调试,最好的方法是移除嫌疑犯。在对图像和UniversalImageLoader配置设置进行了数小时的修改后,我取出了图像加载(应该先这样做),但仍然看到堆失去了控制--因此不得不找其他地方,然后需要几分钟的时间才能找到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29871831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档