为什么基本的Android应用程序内存中有数百个位图?

在构建我的第一个 Android应用程序时,我注意到应用程序启动时内存使用率已接近20MB.我下载了Eclipse MAT并查看了内容,以便在内存中找到数百个(如果不是数千个)位图.其中很多都没有直接用在我的项目中(至少不是我所知道的那么多)

最大图像为9MB:
https://imagebin.ca/v/2eCK4JYLO2f2

其他人要小得多:
https://imagebin.ca/v/2eCMmbFuIWsz

Android似乎已经竭尽全力通过使用zygote来减少内存…那么为什么内存中已经有这么多未使用的位图呢?

(基本项目是使用Android Studio的空白活动,片段由文本视图组成,简单地说“Hello World!”)

解决方法

我发现位图来自Zygote的内存占用.由于所有基于java的应用程序都是通过zygote启动的,这意味着最小内存使用量由Zygote使用的内存大小决定,而Zygote依次是基于设备的显示密度.

答案发现:
Find the class that wastes memory
Locate & remedy cause of large heap size

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...