zoukankan      html  css  js  c++  java
  • APP性能(Android手机):内存和CPU

    1         App性能测试

    帧率大小影响页面的流畅度。

     

    不同机型测试时,会有差距,配置差的手机性能测试会差,不需要横向比较。

    同一个手机,对新老版本app进行对比测试,选择配置比较差的机型进行测试。

    1.1       内存和CPU

    • 内存泄漏:申请用完后未释放,浪费
    • 内存溢出:占用内存过大,无法限制,造成内存崩溃

    二者会导致程序卡顿,甚至无法使用。

    • CPU:占用过高

    1.1.1     执行

     

    内存抖动:一下高,一下低

    内存持续升高:多次打开关闭页面后,是否及时释放内存,释放存在内存持续升高,停不下来的情况

    CPU占用过高:查看CPU的均值和走势,20%以下可接受

    1.1.2     策略

     

    • 新功能是否引起如上问题
    • 主干流程是否引起如上问题:如视频app看视频的场景;阅读app连续翻看书籍、查看消息的场景;

    1.1.3     工具emmagee

    检测当前时间被测应用占用的CPU使用率以及总体CPU使用量

     

     

    下载地址:https://github.com/NetEase/Emmagee/releases

    1.1.3.1      使用

    将emmagee安装在手机上后,手机上打开emmagee,选择对应的应用,进行操作,emmagee悬浮框显示实时的CPU、内存的数据,操作完毕后,点击停止,emmagee会将数据保存至手机内存卡中,路径如图中会给出。

     

    在电脑中使用excel可打开该文件。

    1.1.3.2      设置

    进入emmagee,右上角点击设置:

     

    退出后停止监听:后台运行中依然监听,只有退出后才停止监听。

    统计heap数据:对定位内存有作用,勾选后会有堆大小的数据。

    1.1.3.3      获取权限

     

    1.1.3.4      结果

    PSS:应用实际占用内存

     

    CPU结果(多核)

     

    1.1.4     实例1

    内存bug:多次开启关闭后,内存不断升高,未释放内存

     

    内存bug:抖动,有内存泄漏的风险

     

     
     
  • 相关阅读:
    018_STM32程序移植之_串口接收中文
    003_软件安装之_Visual Studio 2012
    001_C#我的第一个串口上位机软件
    017_STM32程序移植之_AS608指纹模块
    016_STM32程序移植之_舵机
    015_STM32程序移植之_NRF24L01模块
    014_STM32程序移植之_L298N电机驱动模块
    002_89C52_Proteus_DAC0832_输出50HZ,正弦波,三角波,矩形波,锯齿波
    001_89C52之_Proteus_ADC0809采集电压
    001_电子工程师招聘笔试题及详细解析
  • 原文地址:https://www.cnblogs.com/jxba/p/9218796.html
Copyright © 2011-2022 走看看