热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

移动端测试_移动端测试===Android内存管理:理解App的PSS

篇首语:本文由编程笔记#小编为大家整理,主要介绍了移动端测试===Android内存管理:理解App的PSS相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了移动端测试===Android内存管理: 理解App的PSS相关的知识,希望对你有一定的参考价值。



android内存管理: 理解App的PSS

原文链接:http://www.littleeye.co/blog/2013/06/11/android-memory-management-understanding-app-pss/

当在应用程序上运行Little Eye时,在内存视图中,会报告有关应用程序内存的3个重要统计信息。 Dalvik内存使用情况,即Java堆消耗的内存量,Native内存,即JVM外部进程使用的内存量。

技术分享图片

然后是第三个统计量,被称为“PSS”。 什么是PSS?


Propotionate Set Size(比例集大小)

“比例集大小”是Android系统计算的统计信息,以确定是否要杀死您的进程。 只看你的应用程序消耗多少内存,是不正确的方式,因为你的应用程序可能与其他进程使用一些共享内存,责怪你的应用程序正在使用任何共享内存是“不公平”的。 Android系统可能会杀死使用太多内存的应用程序(尤其是如果应用程序在后台),因此Android系统需要找到一种方法来可靠地计算应用程序负责的内存量。


什么是共享内存?

Android是一个基于Linux的系统,Linux使用“共享”页面来跨进程共享相同的内存。 共享内存的一个常见用途是在进程之间共享“代码”内存页(加载只读可执行代码的内存区域)。 外部库和JVM的可执行代码是可以跨进程安全共享的内存区域的示例。 还可以是数据页,其是“写时复制”,其可以在进程之间临时共享,直到一个进程修改共享存储器。


技术应用“真实”内存使用

因此,为了“公平”技术应用使用的内存,Android使用了PSS统计量。基本上,它是您的应用程序消耗的非共享内存和可以“归因于您的应用程序”的共享内存部分(与其他进程共享的内存)/(分享共享内存的进程数量)的和。

技术分享图片

现在,Android有一个“更公平”的方式来计算谁消耗了大量的内存,Android将按照PSS由大到小的顺序开始杀死进程。


作为一个开发者意味着什么?

如果你的应用程序得到非常高的PSS分数,你的应用程序可能会被Android系统杀死。 也许这是你可以处理的东西,但是在后台被意外杀死可能会对你的应用程序造成影响,特别是如果你依靠一些后台Activity或Service来进行工作。 确保您的应用程序的PSS不是太高,特别是当您的应用程序进入后台。 进入后台后,释放不在吸引的内存和对象,并断开任何不再需要的共享内存,你不再需要,可能是一个好主意。 这将减少你的意外被Android系统杀死的机会。

要记住的一点是,PSS没有“硬限制” - 不能保证你的应用程序超过某个阈值将被杀死,或者保证低于某个阈值可以生存。 应用程序不在前台时,必须做好任何时间被杀死的准备。如果PSS值较低,它有助于减少那些机会。


推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 初识java关于JDK、JRE、JVM 了解一下 ... [详细]
  • 生产环境下JVM调优参数的设置实例
     正文前先来一波福利推荐: 福利一:百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。福利二 ... [详细]
author-avatar
悠哉游_甘肃
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有