kru*_*ben 1 memory mobile android android-layout android-studio
我正在为一个学校项目开发一个小型 tamagotchi,我在应用程序使用的内存量方面遇到了很大的问题。起初我为应用程序分配了 200MB,经过一些研究后,我通过将 drawable 文件夹重命名为 drawable-nodpi 来轻松修复将其减少到 50MB。但这仍然远远不够。在调查问题时,我确定它与我的布局和 UI 元素有关,因为我删除了所有代码并仅使用布局启动了我的应用程序,并且内存使用量根本没有下降。
图像大小平均约为 30kb,如果我计算内存中可能图像的最大大小,我有大约 1.5MB。
那么所有的记忆是从哪里来的呢?这怎么可能呢?
如果你想自己看这个应用程序,你可以从github获取项目:https : //github.com/kruben95/TamaStudent
如果有人可以帮助我或给我一些提示,我会很高兴。
我下载了你的项目,这里有一些建议:
1) 即使在磁盘上图像占用 30-40 kb 的图像分辨率也很高 - 在内存中它们是位图,位图占用大量内存,例如身体部位 - 1200x1980 像素,每像素 4 个字节,这在内存中为 9.5 兆字节!!??现在在得到这个位图之后,它也必须缩放它——这是额外的内存,正如你所看到的,每张图像你有超过 10 兆字节!!这是非常高的。
2)使图像分辨率降低。没有必要显示它们那么高分辨率。
3)从图像中删除不可见的部分 - 因为我看到很大的部分是清晰的,但它需要内存!
4)尝试以编程方式制作一些图像,例如圆圈等。
5)在代码中 - 如果你只需要做背景,不要使用 alpha 来查看,直接在颜色中设置这个 alpha:#00FFFFFF - 这里是白色和 alpha 0。如果你在视图上使用 alpha 它将需要额外的内存重绘(降低性能)。
6)谷歌互联网为您的相关主题标签Best practices
,你会发现很多有用的信息)
归档时间: |
|
查看次数: |
2304 次 |
最近记录: |