1

android 中UI 性能测试的指标之一是“总内存使用量”。究竟是什么?

命令是adb shell dumpsys gfxinfo <PACKAGE_NAME>

此处提供了一个示例 dumpsys:https ://gist.github.com/anonymous/20c263d802ab60cb0d1a

4

1 回答 1

0

在您的特定示例中,总内存使用量是Android HWUI 库中所有缓存分配内存的总和

Caches:
Current memory usage / total memory usage (bytes):
  TextureCache         74625498 / 75497472
  LayerCache            3538944 / 50331648 (numLayers = 3)
    Layer size 1440x810; isTextureLayer()=1; texid=24 fbo=0; refs=1
    Layer size 1440x810; isTextureLayer()=1; texid=42 fbo=0; refs=1
    Layer size 1440x810; isTextureLayer()=1; texid=48 fbo=0; refs=1
    Layer size 1344x192; isTextureLayer()=0; texid=40 fbo=0; refs=1
    Layer size 1472x192; isTextureLayer()=0; texid=41 fbo=0; refs=1
    Layer size 1344x256; isTextureLayer()=0; texid=23 fbo=0; refs=1
  Layers total   17535744 (numLayers = 6)
  RenderBufferCache           0 /  8388608
  GradientCache           32768 /  1048576
  PathCache                1260 / 33554432
  TessellationCache           0 /  1048576
  TextDropShadowCache         0 /  6291456
  PatchCache                128 /   131072
  FontRenderer 0 A8     1048576 /  1048576
  FontRenderer 0 RGBA         0 /        0
  FontRenderer 0 total  1048576 /  1048576
Other:
  FboCache                    0 /        0
Total memory usage:
  93243974 bytes, 88.92 MB

内存 88.92 MB是为TextureCache + Layers total + ... + FboCache分配的内存总和

此输出来自Android HWUI库 - 这是基于 OpenGL HW 加速库的 Android UI 绘制实现

可以在源代码中阅读更多详细信息,例如这里

于 2017-10-27T15:21:09.710 回答