1.4.4 多进程应用

根据上一节中的描述,当一个进程结束后,它所占用的共享库内存将会被其他仍然使用该共享库的进程所分担,共享库消耗的物理内存并不会减少。实际上,对于所有共享使用了这个库的应用,Pss内存都会有所增加。对于一般的进程,只是共享着zygote进程的Android框架等基础部分,而通常手机使用时的应用进程数达到几十个至上百个,所以某个进程结束后,其他进程内存增加的情况并不明显。

但对于多进程的应用来说,由于多个进程之间会共享很多内容,包括代码、资源、so库等,因此单个进程结束造成的影响就会比较明显。以有两个进程的应用为例,进程共享着部分内存,因此当一个进程不再需要这些内存时,就会出现如图1-18所示的场景。表现为一个进程的内存下降了,另一个进程的内存就会明显上升。

图1-18 两个共享内存进程的内存变化

由此可见,我们在统计多进程的应用内存和进行优化时,需要综合考虑,以免出现努力优化了一个进程的内存,却造成其他进程内存增长的情况。

最新文章

  1. linux常用查看硬件设备信息命令
  2. Oracle索引梳理系列(九)- 浅谈聚簇因子对索引使用的影响及优化方法
  3. VNC连接远程Ubuntu设置
  4. 使用eclipse遇到问题:the-package-collides-with-a-type
  5. C# winform程序怎么打包成安装项目(图解)
  6. apache 配置虚拟主机
  7. MongoDB安装(Linux)
  8. 读书笔记之 - javascript 设计模式 - 责任链模式
  9. Piggy-Bank (完全背包)
  10. 第2章 Python基础语法--Hello python
  11. 修改win7锁定界面背景
  12. memcached 的实践操作
  13. Spring @Conditional注解的使用
  14. 深入理解iostat
  15. Selenium简单回顾
  16. jquery弹窗时禁止body滚动条滚动
  17. stdlib库中qsort函数的使用
  18. CentOS7下Docker中构建可以自动发布到项目的Tomcat容器
  19. Spring Boot打war包
  20. activity 与 service 之间的通信

热门文章

  1. vue+springboot后台实现页面按钮权限
  2. 1033 To Fill or Not to Fill (25分)(贪心)
  3. 1014 Waiting in Line (30 分)
  4. Vue-CLI 3.x 自动部署项目至服务器
  5. ThinkPHP3.2.3发送微信模板消息
  6. matplotlib TransformedPath和TransformedPatchPath
  7. tomcat查看线程数
  8. I - Fill The Bag codeforces 1303D
  9. 6.表单提交,input键盘变搜索,有关自定义属性input操作
  10. frp内网穿透学习