zoukankan      html  css  js  c++  java
  • ★iOS 性能测试工具 SDK

    一、概括

    1. 做一个类似GT的性能测试工具;

    2. 第一期主要是CPU、内存功能,要求可以绘制曲线,可以选择曲线区间,自动计算最小值、最大值、均值等,支持曲线全屏显示

    目标的视觉效果是类似股票走势图(GT的UI太丑);

    3. 后续增加耗电量、网络流量、crash信息收集等功能;

    4. 前期准备:SDK的制作,CPU、内存信息获取算法;

    5. 这个工具起名Mobile Tortoise,缩写MT,与GT相呼应,寓意一步一个脚印,日臻完美,图标一只小乌龟,类似下图;

     

    修改下,工具更名为:Mobile Totoro,totoro是龙猫的意思,图标改为一只龙猫

    二、排期

    11.21-11.23: 查找CPU、内存算法;done

    11.24-11.27: 完成MRD、UI、UE;done

    11.28-12.04: 完成一个曲线图绘制基础类;

    12.05-12.11: 完成CPU、内存;

    12.12-12.18: 制作SDK;

    12.19-12.20: 做出第一版SDK ;

    三、MRD、UI、UE

    用Sketch绘制

    参考:给女朋友的iOS开发教程

    曲线可以参考:股票走势图、健康APP图 

    图表datasource:

    1. x轴坐标系的最小值、最大值、间距值

      比如默认是[0,60s],间距值默认1s

      如果运行时间超过60s,会往后推移

      间距值可以通过手指缩放来改变

      最小值、最大值、间距值可以自己设定(最小值不小于0,最大值不超过max(60s, 当前时间+20s))

    2. y轴坐标系的最小值、最大值

      比如CPU默认是[0,100%]

      起始值是0,如果峰值没有超过100%,高度不变,如果超出,则把最大值设为峰值的120%、140%、...、200%各个值

    3. 点击点附近可以显示y值

    4. 线条粗细、颜色

    2015.11.30

    完成UI初稿,后续慢慢优化

    四、技术方案

    参考代码:

    UUChatView

    http://code4app.com/ios/UUChartView/54a8e40a933bf0b43d8b482a 

    PNChart

    https://github.com/kevinzhow/PNChart 

    iOS Charts

    https://github.com/danielgindi/ios-charts

    Core Plot

    https://github.com/core-plot/core-plot

    12.09

    现在遇到两个问题:

    1. 生成的CPU、内存信息,数据model如何组织,如何存储?

    2. viewController - tableViewCell-cell的contentView里面的chartView

    从前往后的消息传递可以通过依次调用方法来实现,但是反向的回调怎么实现比较好?

    看到上面的UUChartView用了委托来实现,chart,View定义了一些委托方法,然后delegate指定为Cell,但这样数据只能由cell来提供了;

    如何指定delegate是controller呢?

    发凯的建议是:

    1. 每个采样点建为一个model,然后完整的数据可以用NSArray来管理

    有两个想法:

    1)NSArray只保存5点数据,没填充满刷新一次页面

    2)用一个单例来管理数据

    2. 发凯的建议是viewController将数据传给cell,然后chartView的delegate也设置为cell,有啥反馈都由cell来相应,就不回传给viewController

    2016.01.29

    最新的设计图和实现图

  • 相关阅读:
    XTOOL X100 PAD2编程2009 Renault Symbol (Dacia) 所有钥匙丢失
    XTOOL X100 PAD3通过OBD给2014 BMW CAS4 Key编程
    Scania VCI3 SDP3 2.44.1下载免费和安装指南
    VVDI2 V6.7.5 Software Download Free & Install (Update)
    三个步骤解决2m2 magic tank 无法校准HON66钥匙的问题
    VVDI Mini钥匙工具令牌,固件和数据库更新
    kubernetes 认证,授权
    maven 随笔,周末重拾maven
    分布式演进的一点理解
    如何理解持续集成、持续交付、持续部署?
  • 原文地址:https://www.cnblogs.com/mobilefeng/p/4989880.html
Copyright © 2011-2022 走看看