关于安卓的 memory profiler

2019-03-06 12:58:07 +08:00
 mmc0914

最近在做一个项目(学校的),主要是优化安卓在 non-valatile memory 下的性能。两个教授一致认为先写个 profiler 出来比较好,分析下主流 app 的内存访问状态。需求大概就是 objects allocation/deallocation 和 memory read/write。我是属于从来没用过安卓、从来没做过安卓开发的这么一个背景。目前的安卓选择的是 AOSP 8.1.0_r52,在 Nexus6P 上调试。

目前的计划是魔改安卓的 runtime,就是 instrument JIT/AOT/interpreter。读了几个星期的代码了,也尝试过很多方案,但是从打出的 log 来看这个 instrumentation 很不完整,主要原因应该是还不够了解安卓的运行时状态,JIT/AOT/interpreter 似乎都在运行,代码跑着跑着就不知道跑到哪里去了。

另外现在也没有一个趁手的 debugger,不清楚怎么才能 debug 安卓的源代码。很不清楚安卓系统内部的状态。

退一万步来说,如果可以把 JIT/AOT 全都关掉,只用解释执行的话,也能得出些有用的信息,似乎有相关的 system properties 可以开关这个,但是也找不到具体怎么去设置。

各位大佬有什么相关的建议嘛?

808 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/541685

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX