本机堆继续以正常数量增长,尽管java堆保持稳定,然后致命信号6崩溃
我的Android应用程序使用Universal Image Loader在一系列片段中加载大量图像。我已经检查了hprofs内存分析器,在修复了各种漏洞之后,我再也看不到了。DDMS java堆大小略微增加到16左右,但同时我正在检查Debug.getNativeHeapLocatedSize,并看到随着每个片段的替换,它会膨胀大约90MB。大约600MB的本机堆应用程序崩溃致命信号6 SIGABRT,通常是在试图在数据返回上构建大量图像的UI时。但从来没有内存不足的错误本机堆继续以正常数量增长,尽管java堆保持稳定,然后致命信号6崩溃,java,android,Java,Android,我的Android应用程序使用Universal Image Loader在一系列片段中加载大量图像。我已经检查了hprofs内存分析器,在修复了各种漏洞之后,我再也看不到了。DDMS java堆大小略微增加到16左右,但同时我正在检查Debug.getNativeHeapLocatedSize,并看到随着每个片段的替换,它会膨胀大约90MB。大约600MB的本机堆应用程序崩溃致命信号6 SIGABRT,通常是在试图在数据返回上构建大量图像的UI时。但从来没有内存不足的错误 本机堆增加是导致致命
本机堆增加是导致致命的signal 6崩溃还是UI停止?调试本机堆的持续增加的最佳方法是什么?这些图像只是一个转移视线的问题。致命的6确实与不断增长的本机堆有关 除了大量图像,该应用程序还为每个屏幕创建了大量自定义文本视图,之前的开发人员在init中为这些自定义文本视图调用了Typeface.createFromAsset。因此,数千种字体被添加到本机堆中。 懒洋洋地创建静态字体一次只能解决这个问题
要进行调试,最好的方法是删除嫌疑犯。经过几个小时的图像和UniversalImageLoader配置设置的摆弄,我取出了图像加载(应该先这样做),但仍然看到堆失去了控制-因此不得不寻找其他地方,然后几分钟就找到了 你是否使用任何本机库?不,没有本机库什么版本的Android,它是什么设备?在各种设备上使用kitkat和棒棒糖-它不是特定于设备或版本的。