了解 Android 操作系统内存管理的好资源是什么?
我正在寻找任何类型的网站、博客文章、维基百科、讨论、书籍、杂志、科学论文,这些内容在权威的情况下可以解释 Android 内存管理的内部结构。我很清楚,很大一部分是Linux,这是我应该首先去的地方,但是Android有dalvik,据我所知,它与内核深度集成,而且,如果Android用完,它就会卸载应用程序内存,这可能是 Linux 不做的。所以,我正在寻找有关Android内存管理的权威答案。主题包括但不限于:
- 如何解释来自 adb shell dumpsys meminfo 的值,即每个值的含义是什么:size、alloc、free、Pss、priv dirty、shared dirty、what它存储在那里的数据类型?
- 评估设备内存消耗的最佳指标是什么?
- 每个 *.so 加载到哪里?或者 Android 是否实现了就地执行?
- 应用程序可以消耗的内存量是否有限制?
- 操作系统是否分配一块连续的内存块,只要它是连续的,它就可以增长,或者允许某种碎片?
- 等等。
这个线程中有一个很好的答案 How do我发现 Android 中应用程序的内存使用情况?,但我想要一些更深入的解释,因此需要外部资源。
I am looking for any kind of website, blogpost, wiki, discussion, book, magazine, scientific paper, which on good authority could explain the internals of memory management in Android. I know very well that a big part is Linux and this is where I should go first, but Android has dalvik, which is, as far as I understand, deeply integrated with the Kernel, also, Android is unloading apps if it runs out of memory, which is probably what Linux does not do. So, I am looking for an authoritative answer about memory management in Android. Topics include, but are not limited to:
- How to interpret values from adb shell dumpsys meminfo, i.e. what is the meaning of each value: size, alloc, free, Pss, priv dirty, shared dirty, what kind of data is it stored there?
- What would be the best metric to evaluate memory consumption on the device?
- Where is each *.so loaded to? Or does Android have execution in place implemented?
- Are there any limits on how much memory an application can consume?
- Does OS assign a contiguous chunk of memory, which can grow as long as it is contiguous, or some kind of fragmentation is permitted?
- Etc.
There is a great answer in this thread How do I discover memory usage of my application in Android?, but I want some more in-depth explanation, thus asking for an external resource.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Google IO 内存管理官方会议:http://www.youtube.com/watch?v=_CruQY55HOk
Google IO official Conference about Memory Management: http://www.youtube.com/watch?v=_CruQY55HOk