安卓专项测试之内存及PerfDog和SoloPi比较

这次继续安卓专项测试之内存

Android系统中每个APP占内存会有私有和公共的两部分:ShareDirty、PrivateDirty。“PrivateDirty”内存是其最重要的部分,因为只被自己的进程使用。它只在内存中存储,因此不能做分页存储到外存(Android不支持swap)。所有分配的Dalvik堆和本地堆都是“private dirty”内存;Dalvik堆和本地堆中和Zygote进程共享的部分是共享dirty内存。
而Pss是另一种应用内存使用的计算方式,是把跨进程的共享页也计算在内 — 例如,在两个进程间共享的页,计算进每个进程PPS的值是它的一半大小。PSS计算方式的一个好处是:把所有进程的PSS值加起来就可以确定所有进程总共占用的内存。这意味着用PSS来计算进程的实际内存使用、进程间对比内存使用和总共剩余内存大小是很好的方式。
通常来说,我们只需关心Pss Total列和Private Dirty列就可以了
Android里最常用于观察进程内存的方法就是dumpsys meminfo <package name | pid> 命令,如下图:
在这里插入图片描述

SoloPi与PerfDog测试结果对比:

测试过程为打开app,然后进入游戏,玩一局,退出(重复三次),退出数据监控

PerfDog测试结果:
在这里插入图片描述

SoloPi 测试结果(监控间隔为500ms)
在这里插入图片描述
(不知道为什么SoloPi的PSS内存,PrivateDirty内存数据 都为0)
在这里插入图片描述
在这里插入图片描述

PerfDog 图比较直观,很容易看出app内存存在异常,一直在增加,SoloPi全局占用也能看出内存不断增加,PerfDog增加幅度为80M,50M,53M,SoloPi全局占用内存增加幅度35M,48M,62M

SoloPi代码分析(PerfDog没有开源):

用SoloPi测试app性能,有关内存方面,会生成全局占用,PSS内存,PrivateDirty内存三个文件
全局占用 = totalMemory - getAvailMemory;

RecordPattern pattern = new RecordPattern("全局占用", "MB", "Memory");
		pattern.setStartTime(startTime);
		pattern.setEndTime(endTime)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android专项测试是一种针对Android操作系统进行的测试,旨在评估Android应用程序的质量和性能。在开发Android应用程序之前,进行专项测试可以帮助开发人员发现并解决潜在的问题,以确保应用程序能够在各种设备上稳定运行。 Android专项测试包括以下方面: 1. 兼容性测试测试应用程序在不同版本的Android操作系统和不同型号的设备上的兼容性。确保应用程序可以在各种设备上按预期运行,不会出现崩溃或错误。 2. 功能测试测试应用程序的各种功能是否按照设计要求正常运行。包括测试用户界面的交互、各种用户操作的响应和结果等。 3. 性能测试测试应用程序的性能,包括内存占用、CPU利用率、启动时间、响应时间等。确保应用程序在各种情况下都能够快速响应用户操作,并且在长时间运行时不会导致设备负载过高。 4. 安全性测试测试应用程序的安全性,包括对数据传输的加密、用户身份验证的安全性等。确保应用程序在处理用户敏感信息时能够保护用户的隐私和安全。 5. 压力测试:对应用程序进行长时间、高负载的测试,以确定其在长时间运行和并发访问时的表现情况。 通过进行Android专项测试,开发人员可以发现并修复潜在的问题,提高应用程序的质量和用户体验。这对于确保应用程序的可靠性、安全性和性能至关重要,也能够增加用户对应用程序的信任度,提高用户的满意度。 ### 回答2: Android专项测试是一种针对Android操作系统进行的测试Android是一种常用的开源移动操作系统,广泛应用于智能手机、平板电脑等移动设备上。为了确保Android应用程序的质量和稳定性,需要进行专门的测试Android专项测试主要包括如下几个方面: 1. 兼容性测试测试Android应用程序是否能在不同版本的Android操作系统上正常运行。这涉及到测试应用程序在不同分辨率、不同屏幕尺寸的设备上的表现。 2. 功能测试测试Android应用程序的功能是否按照设计和需求正确运行。这包括对应用程序的各种功能模块进行测试,如用户界面、数据处理、网络交互等。 3. 性能测试:评估Android应用程序的性能,包括运行速度、响应时间、内存占用等。通过性能测试,可以找出应用程序中存在的性能瓶颈,以便优化和改进。 4. 安全测试:检查Android应用程序的安全性,包括用户数据的保护、权限管理等方面。通过安全测试,可以防止应用程序受到黑客攻击或数据泄露等安全问题。 5. 用户体验测试:评估Android应用程序的用户体验,包括界面设计、交互方式、功能布局等。通过用户体验测试,可以提高应用程序的易用性和用户满意度。 综上所述,Android专项测试是为了保证Android应用程序的质量和稳定性而进行的一系列测试。通过兼容性、功能、性能、安全和用户体验等方面的测试,可以发现和解决问题,提升应用程序的质量。 ### 回答3: Android专项测试是一种针对Android操作系统的应用程序进行的测试Android系统是目前世界上最流行的移动操作系统之一,它在智能手机、平板电脑和其他移动设备中广泛使用。为了确保Android应用程序的质量和稳定性,进行专项测试是至关重要的。 Android专项测试通常包括以下内容: 1. 兼容性测试测试Android应用程序在不同版本的Android操作系统上的兼容性。由于Android的版本众多,设备的屏幕尺寸、处理器和内存等硬件特性也各异,因此兼容性测试可以确保应用程序在不同环境下正常运行。 2. 功能测试测试应用程序的各项功能是否按照设计要求正常工作。包括用户界面、数据输入、数据处理、网络通信等方面的功能测试。这可以确保应用程序的各项功能正常,不会出现错误和异常。 3. 性能测试测试应用程序在不同负载下的性能表现。包括启动时间、响应时间、内存占用和电池消耗等方面的性能测试。这可以评估应用程序的性能是否满足用户的需求,并找出性能瓶颈和优化方向。 4. 安全测试测试应用程序的安全性。包括数据保护、身份验证、权限管理和代码漏洞等方面的安全测试。这可以确保应用程序不会泄露用户的敏感信息,并能有效防御恶意攻击。 Android专项测试对于开发者和用户来说都是非常重要的。对于开发者来说,通过专项测试可以确保应用程序的质量和稳定性,提高用户体验,增加用户的信任和忠诚度。对于用户来说,专项测试可以提供安全可靠的应用程序,避免因应用程序错误导致的数据丢失和隐私泄露。 总之,Android专项测试是确保Android应用程序质量和稳定性的重要手段,对于开发者和用户来说都是非常有价值的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值